实际上,我正在主视图容器中的片段在单个活动中使用整个应用程序.
一个片段包含一个viewPager,当我点击一个标题按钮片段被LoginFragment替换,并且返回我们维护后台,所以包含viewPager的片段将在顶部,但是我们在viewPager中有当前项目的空白视图.
一个片段包含一个viewPager,当我点击一个标题按钮片段被LoginFragment替换,并且返回我们维护后台,所以包含viewPager的片段将在顶部,但是我们在viewPager中有当前项目的空白视图.
解决方法
这是我的解决方案,我搜索了很多答案,所以如果你有一个更好的,请与我分享.
我将ViewPager切换到活动
活动XML
<RelativeLayout .... xmlns. <FrameLayout android:id="@+id/container" android:layout_height="match_parent" android:layout_width="match_parent" /> <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="match_parent" </...viewPager>
活动类
public MainActivity extends Activity .... { private boolean mShowPager; private FrameLayout mContainer; private ViewPager mPager; //Inflate them public void showViewPager() { mPager.setVisibility(View.Visible); mContainer.setVisibilty(View.Gone); } public void showContainer() { mContainer.setVisibility(View.Visible); mPager.setVisibilty(View.Gone); } public void showViewPager(boolean show) { mShowPager = show; } @override public void onBackPressed() { if(mShowPager) { showViewPager(); } super.onBackPressed();
片段例子
public void onAttach(Activity activity) { ((MainActivity)activity).showViewPager(true); ((MainActivity)activity).showContainer();
// True表示后退显示ViewPager
//返回意味着仍然显示容器,但返回按
信息:您决定要显示ViewPager或包含Fragments plus的Container,如果需要,您可以使用BackStack.
希望它有助于我帮助我.