1

我正在制作一个 android 应用程序,其中我在两个不同的活动中使用两个不同的选项卡主机,但是当我使用第二个选项卡主机进入活动时,我无法区分然后我的应用程序停止。

我的第一个活动中的代码如下:

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 的 android id 指定如下:

<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_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 个标签主机,我该怎么办R.id.tabhost

4

0 回答 0