从片段导航回来

问题描述 投票:0回答:1

我正在一项活动中使用片段。我希望片段在用户执行某些操作时销毁片段,例如单击某个按钮,以便用户自动返回到活动(无需按后退按钮)。

我是安卓新手。所以我不知道如何执行此操作。

android kotlin android-activity android-fragmentactivity
1个回答
0
投票

在 Android SDK 中,popBackStackImmediate() 和 popBackStack() 都与 FragmentManager 一起使用,以将片段从返回堆栈中弹出(简单来说就是删除片段)。

  1. popBackStackImmediate():

此方法立即从返回堆栈中弹出顶部状态,并 将控制权重新带回活动。如果没有要弹出的条目,则 返回假。这是一个同步操作,可以阻塞 UI 如果交易量很大,则线程。

val fragmentManager = requireActivity().supportFragmentManager
val isPopped = fragmentManager.popBackStackImmediate()
  1. popBackStack():

此方法安排在以下情况下发生顶部状态的弹出操作 UI 线程已准备就绪。这是一个异步操作 当您不想阻塞 UI 线程时,通常使用起来更安全。

val fragmentManager = requireActivity().supportFragmentManager
fragmentManager.popBackStack()

因此,如果您想立即销毁片段并且可以接受潜在的阻塞,请使用 popBackStackImmediate()。如果您想安排弹出操作异步发生而不阻塞 UI 线程,请使用 popBackStack()。

© www.soinside.com 2019 - 2024. All rights reserved.