Intent を指定するか,
TabHost.TabContentFactory インターフェースを使用する.
TabContentFactory の public View createTabContent(String tag) を実装すると,
返り値の View がそのまま Tab の画面に表示される
というわけで,Tab を作ってみる
サンプルコード
public class TabSample extends TabActivity implements TabHost.TabContentFactory { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // TabHost の取得 final TabHost tabHost = getTabHost(); // アイコン付きタブ tabHost.addTab(tabHost.newTabSpec("tab1") .setIndicator("tab1", getResources().getDrawable(R.drawable.icon)) .setContent(this)); // 任意の View tabHost.addTab(tabHost.newTabSpec("tab2") .setIndicator("Views") .setContent(new MyTabContentFactory())); // Intent を起動するタブ tabHost.addTab(tabHost.newTabSpec("tab3") .setIndicator("List") .setContent(new Intent(this, ListViewSample.class))); } public View createTabContent(String tag) { final TextView tv = new TextView(this); tv.setText("This is " + tag); return tv; } // TabContentFactory を実装したクラスの作成 class MyTabContentFactory implements TabContentFactory { public View createTabContent(String tag) { // 任意の View を設定 View view = LayoutInflater.from(TabSample.this).inflate(R.layout.views, null); return view; } } }
プログラムを実行すると...
こんな感じ!
参考サイト
http://developer.android.com/intl/ja/reference/android/widget/TabHost.TabContentFactory.html