用MenuItem片段替换ViewPager

问题描述

enter image description here

我有一个docker inspect StreamMonitorContainer,其中总共有4个Activity。在4个片段中,有3个片段与fragments集成为标签,第4个片段在菜单中作为收藏夹图标。我想从3个标签中的任意一个中打开“我的收藏”图标上的“我的收藏Viewpager”。

当我输入以下代码

Fragment
  1. @Override public boolean onoptionsItemSelected(@NonNull MenuItem item) { if (item.getItemId() == R.id.action_manage_profile) { Fragment newFragment = new FragmentHomeProfile(); FragmentManager fragmentManager = getChildFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.replace(R.id.frame_container2,newFragment); fragmentTransaction.addToBackStack(null); fragmentTransaction.commit(); return true; } return super.onoptionsItemSelected(item); }

显示底部片段。

2。在任何Activity中(例如Tab2)

它与Tab2片段重叠,可见收藏夹和Tab2片段的内容

我想要什么?

它应该完全替换fragmentTabLayout视图,并且应该仅显示收藏的ViewPager内容

解决方法

使用FrameLayout

  1. 标签和viewpager是片段的一部分,将添加到框架布局中。
  2. 每按一次收藏夹按钮,便可以在框架布局中轻松替换

为什么要使用childfragmentmanager?

尝试使用supportfragmentmanager