我已经创建了一个应用程序。下面是我解释问题之前的场景。
我有活动A,它包含多个片段,如F1、F2、F3等。
现在,对于F1片段,我已经用三个片段实现了FragmentTabHost : F11,F12,F13片段视图。On tab在这方面工作得很好。
但今天我注意到一个问题。假设我在F1中,我显示了三个片段选项卡F11,F12,F13。用户可以在标签之间切换,它工作得很好。
问题是,假设我通过按Tab键从F11转到F13片段。它成功显示了F13片段。
但是,当我单击菜单上的后退按钮时,它会返回F11片段,但显示的是空屏幕,这意味着不显示F11视图。
这是我实现FragmentTabHost的F1片段代码:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.home_fragment, container,
false);
setHasOptionsMenu(true);
// realtabcontent = (FrameLayout) rootView
// .findViewById(R.id.realtabcontent);
mTabHost = (FragmentTabHost) rootView
.findViewById(android.R.id.tabhost);
mTabHost.setup(getActivity(), getChildFragmentManager(),
R.layout.home_fragment);
mTabHost.setOnTabChangedListener(this);
View tabView = createTabView(getActivity(), "Featured");
spec = mTabHost.newTabSpec("featured").setIndicator(tabView);
mTabHost.addTab(spec, FeaturedHomeTab.class, null);
tabView = createTabView(getActivity(), "Top");
spec = mTabHost.newTabSpec("top").setIndicator(tabView);
mTabHost.addTab(spec, TopHomeTab.class, null);
tabView = createTabView(getActivity(), "New");
spec = mTabHost.newTabSpec("new").setIndicator(tabView);
mTabHost.addTab(spec, NewHomeTab.class, null);
onTabChanged("featured");
return rootView;
}这是包含三个片段的主代码,当我从一个片段返回到tabhost视图中的前一个片段时,它就消失了。
会有什么问题。请帮帮忙。
发布于 2014-11-21 02:31:15
选项卡不能参与时间导航(这就是back的用途),因为它们表示同一层次结构中的内容。
在出现碎片的情况下,后台导航通常会弹出后台堆栈。有一个警告,back nav不会首先弹出子(子)片段。因此,添加到Activity的片段在背面被删除,这包括整个选项卡片段(以及它的子片段)。
https://stackoverflow.com/questions/26990754
复制相似问题