片段内的 setSupportActionBar

setSupportActionBar inside of a Fragment

我有一个片段:

class HomeFragment : Fragment() { ... }

现在我想给它添加一个 Actionbar,但这不起作用:

setSupportActionBar(findViewById(R.id.toolbar_main))

如何设置支持,然后将项目添加到 ActionBar?

这是它在 AppCompatActivity 中的工作方式:

//    This adds items to the ActionBar
    override fun onCreateOptionsMenu(menu: Menu): Boolean {
        menuInflater.inflate(R.menu.menu_toolbar_main, menu)
        return true
    }


//    This is the OnClickListener for the Buttons in the ActionBar
    override fun onOptionsItemSelected(item: MenuItem) = when (item.itemId) {
    R.id.toolbar_edit -> {


        true
    }

    R.id.toolbar_search -> {


        true
    }

    else -> {
        // If we got here, the user's action was not recognized.
        // Invoke the superclass to handle it.
        super.onOptionsItemSelected(item)
    }
}

非常感谢!

覆盖 Fragment 中的 onCreateOptionsMenu 并在内部给 menu 充气。比在 FragmentonCreate 方法中将 setHasOptionsMenu() 设置为 true。根据 Fragment 创建 clear 菜单首先膨胀不同的菜单。

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setHasOptionsMenu(true)
}

override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) {
    super.onCreateOptionsMenu(menu, inflater)
    inflater?.inflate(Your menu here, menu)
}