用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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...