代码之家  ›  专栏  ›  技术社区  ›  Taskeen Zahra

从片段导航回来

  •  1
  • Taskeen Zahra  · 技术社区  · 2 年前

    我在活动中使用碎片。当用户执行某个操作时,我希望碎片销毁碎片,例如点击某个按钮,这样用户就可以自动返回活动(无需按下后退按钮)。

    我是安卓系统的新手。所以我不知道该怎么做。

    1 回复  |  直到 2 年前
        1
  •  0
  •   Eeman    2 年前

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

    1. popBackStackImmediate():

    此方法会立即从后堆栈弹出顶部状态 将控制权带回活动。如果没有可弹出的条目 返回false。这是一个 同步的 可以阻止UI的操作 线程(如果事务繁重)。

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

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

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

    所以,如果您想立即销毁碎片,并且可以处理潜在的阻塞,请使用popBackStackImmediate()。如果您想在不阻塞UI线程的情况下安排pop操作异步进行,请使用popBackStack()。