【发布时间】:2012-06-16 01:05:50
【问题描述】:
我正在尝试使用片段和 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 等等..
有什么方法可以防止片段在活动中一遍又一遍地创建? 我也不希望后退按钮可以将片段切换回来;
【问题讨论】:
标签: java android android-fragments