TabHost なしで TabWidget を使用することは可能ですか? 古い携帯電話の ActionBar フェールバック用のタブ ナビゲーションのようなものが欲しいです。
したがって、ユーザー タブのみを表示し、アクティブなタブ ID を取得するクリック アクションをリッスンしたいだけです。これ以上何もない。
一般的な状況では、actionBar の TabsNavigatin は Fragments をナビゲートするためのものであることを知っています。しかし、私はフラグメントを簡単に避けます。:
class mTabListener implements ActionBar.TabListener {
private Screen screen;
public mTabListener(Screen screen) {
this.screen = screen;
}
public void onTabReselected(Tab tab, FragmentTransaction ft) {
screen.onTabReselected(tab, ft);
}
public void onTabSelected(Tab tab, FragmentTransaction ft) {
screen.onTabSelected(tab, ft);
}
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
screen.onTabUnselected(tab, ft);
}
}
public abstract class Screen extends Activity {
protected void addTab(String title, int what, boolean selected) {
if (Global.API < 11)
return;
ActionBar bar = getActionBar();
Tab tab = bar.newTab()
.setTag(new Integer(what))
.setTabListener(new mTabListener(this))
.setText(title);
bar.addTab(tab, selected);
}
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
Integer what = (Integer)tab.getTag();
tabSelected(what);
}
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
}
public void tabSelected(int what) {
}
}
しかし、TabWidget にタブ ボタンを追加する方法が見つかりません。