有人可以向我解释或者可能会指出一个链接或一个例子,说明在片段方面应该如何处理屏幕方向。我现在遇到的问题是我有一个带有三个标签的操作栏的应用程序。每个选项卡包含一个片段。因此,当我翻转设备时,只使用
选择的一个片段actionbar.setSelectedNavigationItem(1)
显示(没有混淆,其他选项卡是可见的,但是当我点击它们时没有任何反应,它们无法被选中和显示。它们的内容从未显示过)。在这些情况下是否有某些事情要做?有人可以给我一个建议,我会很感激。谢谢你。
答案 0 :(得分:13)
我遇到了同样的问题并在此处找到了解决方案: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/FragmentTabs.html
问题是以前保存的状态中的选项卡已经存在碎片。你必须停用它们。
以下是TabListener构造函数的代码片段:
public TabListener(Activity activity, String tag, Class<T> clz, Bundle args) {
mActivity = activity;
mTag = tag;
mClass = clz;
mArgs = args;
// Check to see if we already have a fragment for this tab, probably
// from a previously saved state. If so, deactivate it, because our
// initial state is that a tab isn't shown.
mFragment = mActivity.getFragmentManager().findFragmentByTag(mTag);
if (mFragment != null && !mFragment.isDetached()) {
FragmentTransaction ft = mActivity.getFragmentManager().beginTransaction();
ft.detach(mFragment);
ft.commit();
}
}
希望我能帮助你。