调用setHasOptionsMenu()后无法更新CollapsingToolbar标题

时间:2018-06-06 23:58:16

标签: android android-fragments android-support-library android-toolbar

我正在尝试从片段中更新CollapsingToolbarLayout中的标题(工具栏本身位于Activity XML中)。这在大多数情况下工作正常,但是当我必须从Fragment添加菜单项时,它也会停止工作,之前的标题仍然可见。

这是我片段中的代码:

override fun onActivityCreated(savedInstanceState: Bundle?) {
    super.onActivityCreated(savedInstanceState)

    // If I remove the line below then the title is updated just fine
    setHasOptionsMenu(true)

    activity?.collapsingToolbar?.title = ""
}

我通过使用

找到了解决这个问题的方法(看起来问题是在视图绘制期间出现竞争条件)

Handler().post { activity?.collapsingToolbar?.title = "" }

而不是

activity?.collapsingToolbar?.title = ""

但是,我不喜欢我必须为此特定目的创建Handler这一事实,似乎支持库应该处理这些事情的序列化。

有没有人有更好的解决方案?

0 个答案:

没有答案