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