그러나 탭 응용 프로그램을 만들려고하는데 응용 프로그램을 실행하려고 할 때 문제가 발견되고 기본 클래스가 TabActivity를 확장합니다.android에서 TabActivity가 작동하지 않습니다.
package org.practical.newsupdate;
import android.app.Activity;
import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
public class NewsPage extends TabActivity{
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.newspage);
TabHost host = (TabHost) findViewById(R.id.tabhost);
host.setup();
new Intent().setClass(this, LocalNews.class);
TabSpec localTab = host.newTabSpec("Local");
localTab.setIndicator(getResources().getString(R.string.local),
getResources().getDrawable(android.R.drawable.star_on));
localTab.setContent(R.id.local_tab);
host.addTab(localTab);
new Intent().setClass(this, ForeignNews.class);
TabSpec foreignTab = host.newTabSpec("Foreign");
foreignTab.setIndicator(getResources().getString(R.string.foreign),
getResources().getDrawable(android.R.drawable.star_on));
foreignTab.setContent(R.id.foreign_tab);
host.addTab(foreignTab);
host.setCurrentTabByTag("Local");
}
}
XML을는 다음과 같다 :
12-25 18 : 11 :
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/newsimages" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:src="@drawable/newsimages" />
<TextView
android:id="@+id/newspage_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/menu_newspage" />
</RelativeLayout>
<TabHost
android:id="@+id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:id="@+id/local_tab"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</LinearLayout>
<LinearLayout
android:id="@+id/foreign_tab"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</LinearLayout>
</FrameLayout>
</LinearLayout>
</TabHost>
</LinearLayout>
로그 고양이는 다음과 같은 오류를 표시 24.846 메인 클래스의 코드는 다음과 같다 : E/AndroidRuntime (569) : 치명적인 예외 : 주 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : java.lang.RuntimeException : 활동을 시작할 수 없습니다. ComponentInfo {org.practical.newsupdate/org.practical .newsupdate.NewsPage} : java.lang .RuntimeException : 귀하의 콘텐츠에 id 속성이 'android.R.id.tabhost'인 TabHost가 있어야합니다. 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : android.app.ActivityThread.performLaunchActivity (ActivityThread. java : 1955) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:1980) 12-25 18 : 11 : 24.846 : E/AndroidRuntime 569) : android.app.ActivityThread.access $ 600 (ActivityThread.java:122) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : android.app.ActivityThread $ H.handleMessage (ActivityThread.java) : 1146) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : android.os.Handler.dispatchMessage (Handler.java:99) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569)) : at android.os.Looper.loop (Looper.java:137) 12-25 18 : 11 : 24.846 : E/AndroidR (569) : android.app.ActivityThread.main (ActivityThread.java : 4340) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : java.lang.reflect.Method.invokeNative (네이티브 메소드) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : java.lang.reflect.Method.invoke (Method.java:511) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569)) : com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:784) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : at com.android.internal.os.ZygoteInit 전자 메일 주소 : 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : at dalvik.system.NativeStart.main (기본 방법) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : 원인 : java.lang.RuntimeException : 콘텐츠의 id 속성이 'android.R.id.tabhost'인 TabHost가 있어야합니다. 12-25 18 : 11 : 24.846 : E/A ndroidRuntime (569) : android.app.TabActivity.onContentChanged (TabActivity.java:131) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : com.android.internal.policy.impl.PhoneWindow. setContentView (PhoneWindow.java:254) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : android.app.Activity.setContentView (Activity.java:1835) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : org.practical.newsupdate.NewsPage.onCreate (NewsPage.java:13) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : android.app.Activity.performCreate (Activity.java : 4465) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1049) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1919) 12-25 18 : 11 : 24.846 : E/AndroidRuntime (569) : ... 11 more
표시되는 오류는 응용 프로그램이 갑자기 작동을 멈췄다는 것입니다. 누군가 나를 도울 수 있습니까? 귀하의 내용이 ID 속성 'android.R.id있는 TabHost이 있어야합니다 : 어떤 도움
logcat에 들어간 예외를 게시하십시오. –
질문에 logcat 예외를 게시했습니다. – xarababe