使用视图寻呼机在 tabLayout 中显示嵌套片段
Show a nested fragment inside a tabLayout with view pager
我有主要 activity,在设置选项卡中有 4 个选项卡我需要实现此流程:
用户点击 recyclerView
项(已处理)。
显示一个新片段而不是设置选项卡。
我试图在视图寻呼机视图上进行替换事务,但是当用户单击另一个选项卡时,新创建的片段仍然显示并且它没有被视图寻呼机替换。
编辑: 我的显示嵌套片段的代码:
clickListenr = settingsRecyclerAdapter.observeClickListener()
.subscribe(id -> {
if(id == 3){
getFragmentManager().beginTransaction()
.replace(R.id.view_pager,new WebViewFragment())
.addToBackStack(null)
.commit();
}
});
我建议您在主片段中仅使用 Framelayout。然后创建两个名为 MainFragmentTop 和 SettingFragment(嵌套片段)的片段。然后在您的主要片段 onviewcreated 方法中将您的 MainFragmentTop 片段重新放置到框架布局中。然后,当您要打开设置片段时,替换或将其添加到框架布局中。因此,它变得更易于使用。
这工作正常。
我有主要 activity,在设置选项卡中有 4 个选项卡我需要实现此流程:
用户点击
recyclerView
项(已处理)。显示一个新片段而不是设置选项卡。
我试图在视图寻呼机视图上进行替换事务,但是当用户单击另一个选项卡时,新创建的片段仍然显示并且它没有被视图寻呼机替换。
编辑: 我的显示嵌套片段的代码:
clickListenr = settingsRecyclerAdapter.observeClickListener()
.subscribe(id -> {
if(id == 3){
getFragmentManager().beginTransaction()
.replace(R.id.view_pager,new WebViewFragment())
.addToBackStack(null)
.commit();
}
});
我建议您在主片段中仅使用 Framelayout。然后创建两个名为 MainFragmentTop 和 SettingFragment(嵌套片段)的片段。然后在您的主要片段 onviewcreated 方法中将您的 MainFragmentTop 片段重新放置到框架布局中。然后,当您要打开设置片段时,替换或将其添加到框架布局中。因此,它变得更易于使用。
这工作正常。