コード内のタブの内容の追加
Androidの進捗バーとタブの使用については、XMLファイルを使用してTabにコンテンツを追加するタブの簡単な使用について説明しています.次に、TabHostのTabContentFactoryインタフェースを実装し、createTabContent()メソッドを書き換えることで、コードにタブの内容を動的に追加します.コードは次のとおりです.
Activity:
Activity:
package com.home;
import java.util.ArrayList;
import java.util.List;
import android.app.TabActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TabHost;
import android.widget.TabHost.TabContentFactory;
public class TabTestActivity extends TabActivity implements TabContentFactory {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TabHost
TabHost th = getTabHost();
// Tab
th.addTab(th.newTabSpec("all").setIndicator(" ").setContent(this));
th.addTab(th.newTabSpec("ok").setIndicator(" ").setContent(this));
th.addTab(th.newTabSpec("cancel").setIndicator(" ").setContent(this));
}
@Override
public View createTabContent(String tag) {
// ListView
ListView lv = new ListView(this);
List<String> list = new ArrayList<String>();
// list
if (tag.equals("all")) {
list.add(" ");
list.add(" ");
list.add(" ");
list.add(" ");
} else if (tag.equals("ok")) {
list.add(" ");
list.add(" ");
} else {
list.add(" ");
list.add(" ");
}
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_list_item_checked, list);
// ListView
lv.setAdapter(adapter);
return lv;
}
}