片段内的 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
充气。比在 Fragment
的 onCreate
方法中将 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)
}
我有一个片段:
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
充气。比在 Fragment
的 onCreate
方法中将 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)
}