アクションバーのタブを使いたい。簡単にするために、現在タブは1つだけです。問題は、ビュー/UIが表示されないことです。
タブを含むアクティビティの機能を作成する-
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tabs = new Vector<ActionBar.Tab>();
ActionBar actionbar = getActionBar();
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.Tab accountsTab = actionbar.newTab().setText("Accounts");
Fragment accountsFragment = new AccountsFragment();
accountsTab.setTabListener(new MyTabListener(accountsFragment));
actionbar.addTab(accountsTab);
tabs.add(accountsTab);
}
フラグメントを拡張するフラグメントAccountsFragmentのoncreateview(android.app.Fragment):
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
TextView textView = new TextView(getActivity());
textView.setText("SimpleFragmentText");
textView.setVisibility(View.VISIBLE);
textView.setTextSize(20);
return textView;
}
最後に、Tabリスナーは次のとおりです。
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
if(fragment!=null) {
fragmentTransaction.add(fragment,"accounts");
fragmentTransaction.show(fragment);
}
}
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
if(fragment!=null) {
fragmentTransaction.remove(fragment);
}
}
他のすべての関数はオーバーライドされません。「アカウント」という見出しのタブ以外に表示されるものはありません。
私のmain.xmlには線形レイアウトが含まれています。