【问题标题】:Fragment Backstack Toolbar titleFragment Backstack 工具栏标题
【发布时间】:2018-06-20 07:04:44
【问题描述】:

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

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

abstract fun header() : String

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

我修改了每个Fragment 中的header,它继承自我的BaseFragment 类,并在onResume 中显示值,但我注意到当我按下返回时,最后一个标题集没有被替换为当前在堆栈中的片段。

【问题讨论】:

  • 可以在片段中添加标签,在 onBackStackChangedListener 中可以切换标题。

标签: android android-fragments kotlin fragment-backstack


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-07
    • 2020-11-27
    • 1970-01-01
    • 2015-09-30
    相关资源
    最近更新 更多