当前位置: 首页 > 知识库问答 >
问题:

嵌套片段android中的反压处理

漆雕成弘
2023-03-14

我正在使用嵌套片段,当我按下时,我面临问题。

流量:

FragementActivity

A(Fragment)     B(Fragment)

 C      D        E     F

这是我的应用程序的结构。其中C、D、E、F是子片段,未添加到后堆栈中。D包含列表片段,从D中我称为B。但当我从B中按回来时,我想再次使用最后选定位置的D。我在后堆栈中添加了A和B。我怎样才能做到这一点。给我提供一些解决方案。我回忆起D,但选择的位置总是在变化。

共有2个答案

卜泓
2023-03-14

除了其他功能之外,您可能还需要调用一些功能来隐藏当前可见的片段。我用静态编程语言附加了片段

override fun onBackPressed() {
    // ...

    val thisStep = myAdapter?.getItem(currentFragmentPosition) as MyFragmentStep

    thisStep.setInvisible(runData)
}


//This goes on your activity ^^^


fun setInvisible(runData: Bundle) {

    // ...

    view?.visibility = View.INVISIBLE
}


//This goes on your base class of fragments  ^^^
苗烈
2023-03-14

您是否尝试过重写方法:onBackP()?

 类似资料:
  • 我在android应用程序中使用android架构组件的NavigationUI和底部导航。我有以下情况 应用程序从片段A开始 初始计算已经完成,现在我通过navController弹出片段A。popBackStack() 应用程序转到片段B(这是应用程序的“主页”) 现在有更多的片段,比如C和D 用户可以在B、C和D之间导航 现在问题是在我的导航图中,我的起始片段是一个(通过定义app:star

  • 根据谷歌的文档: 现在可以在片段中嵌入片段。这对于各种情况都很有用,在这些情况下,您需要将动态和可重用的UI组件放置到本身是动态和可重用的UI组件中。例如,如果使用ViewPager创建左右滑动并占用大部分屏幕空间的片段,现在可以将片段插入每个片段页面。要嵌套片段,只需对要添加片段的片段调用getChildFragmentManager()。这将返回一个FragmentManager,您可以像通常

  • 我有一个ViewPagerContainer片段,在应用程序启动时加载。ViewPagerContainer片段将两个选项卡(选项卡A和选项卡B)添加到操作栏。选项卡B有两个项目的列表视图。 我所做的:我在选项卡B片段中的列表视图项上附加了一个click listener,这样当用户单击一个项时,它会在第一个片段(即选项卡B下)内打开另一个片段(子片段)。 我陷入困境的地方:当用户按下后退按钮时,

  • 我有一个嵌套片段的项目(https://github.com/checklist/NestedFragmentsRecycler)。FragmentA位于MainActivity中,包含带有适配器的RecyclerView。适配器中的每个项目都将返回FragmentB。因为我需要给一个id来装载FragmentB到位置,并且它需要是唯一的,所以我正在生成我自己的id。第一个片段显示得很好,但不幸的

  • Back Stack是否支持与Android中的嵌套片段交互? 如果是这样,我做错了什么?在我的实现中,后退按钮完全忽略了我将此事务添加到后堆栈的事实。我希望这不是因为嵌套片段的问题,只是我做了一些不正确的事情。 以下代码位于我的一个片段中,用于将新片段与当前显示的任何嵌套片段交换:

  • 在我的应用程序中,一个