我正在创建一个Android应用程序,其中我在两个不同的活动中使用两个不同的tabhost。但是当我使用第二个tabhost进入活动时,我无法区分当时和我的应用程序停止。
我的第一项活动中的代码如下:
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个tabhosts,由R.id.tabhost
引用,该怎么办?
答案 0 :(得分:1)
不要惊慌你几乎做得很好,只需查看并改善你的小错误这个链接: - http://ramscreative.blogspot.in/2012/04/tabs-with-xml-and-displaying-from.html并完成......