片段堆栈工具栏标题

时间:2018-06-20 07:04:44

标签: android android-fragments kotlin fragment-backstack

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

我已经在我的BaseFragment类中实现了此抽象方法:

abstract fun header() : String

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

,我修改了从header类继承的每个Fragment中的BaseFragment,并在onResume中显示了值,但我注意到当我按回去时,最后一个标题集不会从堆栈中当前的片段中替换。

1 个答案:

答案 0 :(得分:1)

您可以通过在Activity中使用OnBackStackChangedListener来做到这一点:

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