0
2つのタブに1つのアクティビティが表示されます。私のメインの中1アクティビティビューの異なるタブ
私は、次のしている:私のmain.xmlで
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);
私はでframeLayout内でこれを持っている:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
layoutTab0();
layoutTab1();
:私の活動で
<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>
を私はこれを持っています
}
プライベートボイド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つのタブが期待どおりに表示されますが、それらは空です。
タブのコンテンツをタブに表示するにはどうすればよいですか?あなたはContentViewを設定した後に、このコードを実行する必要が
問題は、すべてのコントロールを動的に、xmlファイル以外のアクティビティで作成することです。私はアクティビティのさまざまなウィジェットで作業する必要があるので、そこで作成する必要があります。私は各タブで1つのアクティビティを持つ前に、私はそれらの間でデータを転送するのに問題がありました。私は同じアクティビティでeverythigを持つ方が簡単だと思っていましたが、データ転送はシンプルですが、GUIのレイアウトを正しく動作させることができません。 – user1390106
このコードを使用するためにxmlファイルを使用する必要はありません。コードでは、タブを作成してから新しいアクティビティを開きます。アクティビティを開かないと、タブは表示されますが、コンテンツを追加していないため空になります。あなたは新しい活動を呼び出す必要はありません、ちょうどタブレイアウトにコンテンツを追加し、それは動作するはずです。 –
あなたは正しいです。今はうまくいく。ありがとう! – user1390106