片段 Backstack 工具栏标题

Fragment Backstack Toolbar title

当 adding/replacing 片段以及从后台弹出片段时,是否有一种有效的方法来自动设置工具栏的标题?

我已经在我的 BaseFragment class:

中实现了这个抽象方法
abstract fun header() : String

override fun onResume() {
    super.onResume()
    (activity as SSBaseActivity).header.text = header()
}

并且我修改了每个 Fragment 中的 header 继承自我的 BaseFragment class 并显示 onResume 中的值,但我注意到当我按回键,最后一个标题集没有从当前堆栈中的片段中替换。

您可以在 Activity:

中使用 OnBackStackChangedListener
supportFragmentManager.addOnBackStackChangedListener {
    val fragment = supportFragmentManager.findFragmentById(R.id.yourFragmentFrame)
    if (fragment is BaseFragment) {
        header.text = fragment.header()
    }
}