我正在尝试在片段中设置工具栏。

虽然Google Developer文档已更新为包括Kotlin代码(请参阅this page):

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_my)
    // Note that the Toolbar defined in the layout has the id "my_toolbar"
    setSupportActionBar(findViewById(R.id.my_toolbar))

它涉及 Activity 中工具栏的设置,而不是片段。

我发现了这个SO post,它表明您不能只在片段中调用setSupportActionBar。报价:



但是,上面给出的代码在Java中。

在Kotlin中我怎么称呼它?

最佳答案

要从Kotlin中的ActionBar访问Fragment,请执行以下操作:

if(activity is AppCompatActivity){
        (activity as AppCompatActivity).setSupportActionBar(mToolbar)
    }

要从ActionBar设置Fragment标题,您可以执行
(activity as AppCompatActivity).supportActionBar?.title = "Title"

要么
(activity as AppCompatActivity).supportActionBar?.setTitle(R.string.my_title_string)

08-18 05:14