【发布时间】:2020-09-10 04:25:18
【问题描述】:
onCreateOptionsMenu 不会在片段中被调用。我必须在onCreatedView() 中手动调用setHasOptionsMenu(true),但这会导致item.itemId 在onOptionsItemSelected() 中为空字符串"",因此我无法检测到哪个菜单项被点击了。
我目前在片段中使用它:
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
super.onCreateOptionsMenu(menu, inflater)
inflater.inflate(R.menu.menu_font_share, menu)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
R.id.menu_font_size_Btn -> {
}
R.id.menu_share_Btn -> {
super.showShareSheet()
}
}
return super.onOptionsItemSelected(item)
}
【问题讨论】:
-
@DhavalShah 没有。我已经试过了。再次阅读问题
-
你必须设置actionBar:
setHasOptionsMenu(true); ((AppCompatActivity) getActivity()).setSupportActionBar(toolbar);
标签: java android android-studio kotlin optionmenu