我正在制作一个 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
?