0
我想要在2个选项卡上显示1个活动。有1个活动不同视图的选项卡
在我的主要我有以下几点:
TabHost tabHost = getTabHost(); // The activity TabHost
tabHost.addTab(tabHost.newTabSpec("tab0").setIndicator(tabNames[0]).setContent(R.id.tab0));
tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator(tabNames[1]).setContent(R.id.tab1));
Intent intent = new Intent().setClass(this, DMXControllerActivity.class);
startActivity(intent);
在我main.xml中
我有这个里面的FrameLayout:
<LinearLayout
android:id="@+id/tab0"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp">
</LinearLayout>
<LinearLayout
android:id="@+id/tab1"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp">
</LinearLayout>
在我的活动我有这样的:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
layoutTab0();
layoutTab1();
}
私人无效layoutTab0(){
LinearLayout ll_main = new LinearLayout(this);
ll_main.setOrientation(LinearLayout.VERTICAL);
LinearLayout myll = (LinearLayout) findViewById(R.id.tab0);
myll.addView(ll_main);
LinearLayout ll_sliders = new LinearLayout(this);
ll_sliders.setOrientation(LinearLayout.VERTICAL);
ll_main.addView(ll_sliders);
...... ..... .....
}
当我启动应用程序,我看到的内容我的tab0和tab1在彼此之上。当我在模拟器中点击后退键时,我会看到2个标签,但它们都是空的。
如何让我的标签内容显示在标签上?
问题是我在activity中创建了所有的控件,而不是在xml文件中。我需要在活动中使用各种小部件,所以我需要在那里创建它们。在每个选项卡中进行1次活动之前,我无法在它们之间来回传输数据。我认为在同一活动中每个人都会更容易,数据传输很简单,但现在我无法让gui布局正常工作。 – user1390106
您不必使用xml文件来使用此代码。在你的代码中,你正在创建标签,然后打开一个新的活动。如果你没有打开这个活动,这些标签会出现,但是它们将是空的,因为你没有向他们添加内容。您不必调用新的活动,只需将内容添加到Tablayouts即可使用。 –
你是对的。它现在工作正常。谢谢! – user1390106