2012-11-02 51 views
1

我做的,我在兩個不同的活動中使用兩種不同的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簡稱?

+0

您可以使用不同的佈局相同的ID,我認爲你正在運行進入另一個問題,什麼是日誌輸出? – h0m3r16

+0

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

+0

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

回答

相關問題