我做的,我在兩個不同的活動中使用兩種不同的tabhosts一個Android應用程序創建兩個tabhosts,但是我有那麼麻煩,當我進入與第二tabhost活動我的應用程序停止區分。在一個應用程序
在我的第一個活動的代碼如下:
<TabHost
android:id="@+id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >
在我的第二個文件中的代碼是:
private TabHost tHost_;
private TabSpec tSpec_;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mypls_shared);
setTitle("Workout Scheduler");
tHost_ = (TabHost) findViewById(R.id.tabhost);
tHost_.setup();
tSpec_ = tHost_.newTabSpec("tag1");
tSpec_.setContent(R.id.myTab);
tSpec_.setIndicator("My Workouts");
tHost_.addTab(tSpec_);
tSpec_ = tHost_.newTabSpec("tag2");
tSpec_.setContent(R.id.shareTab);
tSpec_.setIndicator("Shared Workouts");
tHost_.addTab(tSpec_);
}
在我的XML
文件如下tabhost的機器人ID指定如下:
private TabHost tHost_;
private TabSpec tSpec_;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_three_by3);
setTitle("Workout Scheduler");
tHost_ = (TabHost) findViewById(R.id.tabhost);
tHost_.setup();
}
xml文件看起來是這樣的:
<TabHost
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1" >
但是,當我輸入第二個活動時,應用程序停止。我知道,一個tabhost必須命名爲這樣的:
android:id="@+id/tabhost"
但如果我有2個tabhosts我該怎麼辦,這是由R.id.tabhost
簡稱?
您可以使用不同的佈局相同的ID,我認爲你正在運行進入另一個問題,什麼是日誌輸出? – h0m3r16
11-02 00:43:34.015:W/dalvikvm(9386):線程ID = 1:螺紋與未捕獲的異常退出(組= 0x4199e300) 11-02 00:43:34.019:E/AndroidRuntime(9386):致命異常:主 11-02 00:43:34.019:E/AndroidRuntime(9386):了java.lang.RuntimeException:無法啓動活動ComponentInfo {com.Keb3mr.workoutscheduler/com.Keb3mr.workoutscheduler.ThreeBy3}:java.lang中。的NullPointerException 11-02 00:43:34.019:E/AndroidRuntime(9386):\t在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059) – Amre
11-02 00:43:34.019:E/AndroidRuntime(9386) :\t在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 11-02 00:43:34.019:E/AndroidRuntime(9386):\t在android.app.ActivityThread.access $ 600(ActivityThread.java:130 ) 11-02 00:43:34.019:E/AndroidRuntime(9386):\t at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1195) 11-02 00:43:34.019:E/AndroidRuntime(9386) ):\t at android.os.Handler.dispatchMessage(Handler.java:99) 11-02 00:43:34.019:E/AndroidRuntime(9386):\t at android.os.Looper.loop(Looper.java:137 ) – Amre