添加/替换片段以及从后台弹出片段时,是否有一种有效的方法来自动设置工具栏的标题?
我已经在我的BaseFragment
类中实现了此抽象方法:
abstract fun header() : String
override fun onResume() {
super.onResume()
(activity as SSBaseActivity).header.text = header()
}
,我修改了从header
类继承的每个Fragment
中的BaseFragment
,并在onResume
中显示了值,但我注意到当我按回去时,最后一个标题集不会从堆栈中当前的片段中替换。
答案 0 :(得分:1)
您可以通过在Activity
中使用OnBackStackChangedListener
来做到这一点:
supportFragmentManager.addOnBackStackChangedListener {
val fragment = supportFragmentManager.findFragmentById(R.id.yourFragmentFrame)
if (fragment is BaseFragment) {
header.text = fragment.header()
}
}