我有一个具有单个活动的应用程序,它使用菜单抽屉进行导航。每次单击菜单抽屉中的一项时,我都会用新的片段替换显示的片段,并将其添加到backstack中。假设我有4个菜单项,A,B,C,D,E,以及它们的对应片段。如果用户打开A,它将结束在backstack中,如果用户然后单击B,然后再次单击A,则backstack看起来像这样:A --> B
我有一个主要活动,它存在于三个片段中。片段2是主要片段。在片段3上我有一个按钮。单击该按钮后,它会将用户定向到一个ChatActivity。ChatActivity有一个onBackButtonPressed,它应该让用户返回到片段3。但是,它似乎总是会让用户返回到片段2(主片段)。我如何将用户带到他们上次访问的片段,或者至少返回到片段3?transaction.add(R.id.main_tabPager, fra
从,
在执行这样的片段事务时,还可以将其添加到由活动管理的后台堆栈中--活动中的每个后台堆栈条目都是发生的片段事务的记录。back堆栈允许用户通过按后退按钮来反转片段事务(向后导航)。这是Backstack是stack of fragments还是某种transaction记录?因为如果它是一个stack of fragments,并且删除了一个fragment (这意味着从backstack中弹
当我替换一个片段(使用我在utils.kt文件中定义的函数)时,我跟踪第一次加载的片段并将它们添加到BackStack中,以便弹出它们并防止将该片段的重复添加到BackStack中。下面是如何在我的Utils.kt文件中管理它的相关逻辑:
fun replaceFragment(destinationFragment : Fragment,destinationF