フラグメントとRadioGroupを使用してタブバーを実装しようとしています
チェックされたラジオグループの変更のようにフラグメントをこのように切り替えます(SDKの例でこのようなものを見ました)
パブリック
void onCheckedChanged(RadioGroup radioGroup, int id) {
TabInfo newTab = mContent.get(id);
if (newTab != lastTab) {
FragmentTransaction transaction = mActivity.getSupportFragmentManager().beginTransaction();
if (lastTab != null && lastTab.fragment != null) {
transaction.detach(lastTab.fragment);
}
if (newTab.fragment == null) {
newTab.fragment = Fragment.instantiate(mActivity, newTab.getTag());
transaction.add(mContainerId, newTab.fragment);
} else {
transaction.attach(newTab.fragment);
}
lastTab = newTab;
transaction.setCustomAnimations(R.anim.tab_transaction, R.anim.tab_transaction);
transaction.commit();
}
}
しかし、これが発生するたびに、添付されたフラグメントが最初から作成されます。つまり、onCreateなどと呼ばれます。
アクティビティ内でフラグメントが何度も作成されないようにする方法はありますか?また、戻るボタンでフラグメントを元に戻すことはできません。