【发布时间】:2014-03-12 01:22:56
【问题描述】:
我在我的 Android 应用程序中使用了与此类似的 TabListener:http://developer.android.com/guide/topics/ui/actionbar.html#Tabs
我的onTabSelected 实现:
public void onTabSelected(Tab tab, FragmentTransaction ft) {
Fragment preInitFrag = mActivity.getFragmentManager().findFragmentByTag(mTag);
if (preInitFrag == null) {
mFragment = Fragment.instantiate(mActivity, mClass.getName(), mArgs);
ft.add(android.R.id.content, mFragment, mTag);
} else {
ft.attach(preInitFrag);
}
}
每次选择选项卡时,我都想将其添加到后台堆栈。我怎样才能做到这一点?将参数ft 与ft.addToBackStack("test") 一起使用,它不起作用。它抛出了一个致命的异常:
java.lang.RuntimeException:
Unable to start activity ComponentInfo{.../...BaseActivity}:
java.lang.IllegalStateException:
This FragmentTransaction is not allowed to be added to the back stack.
【问题讨论】:
-
它是
addToBackStack(String name),您应该将片段类的名称传递给它。 -
我不明白你的评论,对不起。如何在
onTabSelectedcallback 中执行addToBackStack?
标签: java android android-fragments android-tabs