アプリの一部をアクティビティからフラグメントに切り替えて、きちんとしたActionBarタブを使用できるようにしました。
ただし、移行を完了した後、問題が発生しました。別のタブに切り替えるたびに、そのフラグメントが最初から作成されます。タブにアクセスするたびに、onCreateとonCreateViewの両方が呼び出されます。
私には4つのタブがあり、それぞれがこれらのフラグメントの1つを開くことを目的としています。
Fragment ShopFragment = new WebActivity();
Fragment SearchFragment = new SearchActivity(context);
Fragment StoreFragment = new StoreLocatorActivity(context, this);
Fragment BlogsFragment = new BlogsActivity(context, this);
リスナーのコードは次のとおりです。
class MyTabsListener implements ActionBar.TabListener {
public Fragment fragment;
public MyTabsListener(Fragment fragment) {
this.fragment = fragment;
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
ft.hide(fragment);
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
ft.replace(R.id.fragment_container, fragment);
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
}
}
誰かが私を正しい方向に向けてくれませんか?