我创建了一个这样的选项菜单:xml:
`<?xml version="1.0" encoding="utf-8"?>
<menu
android:id="@+id/Menu"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item
android:id="@+id/Save"
android:title="@string/Save"
/>
<item
7 android:id="@+id/Refresh"
android:title="@string/Refresh"
/>
</menu>`
科特林:
`
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.popup_menu, menu)
return super.onCreateOptionsMenu(menu)
}
override fun onOptionsItemSelected(item: MenuItem?): Boolean {
if (item != null) {
when(item.itemId){
R.id.Save->onSave()
R.id.Refresh->onRefresh()
}
}
return super.onOptionsItemSelected(item)
}
`


据我记得,检查 onPrepareOptionsMenu 中的必要条件就足够了,如果不需要菜单,则返回 false。
也可以在 onCreateOptionsMenu 方法中获取项目(在类中声明后)
然后在代码中的任何地方
如果
app:showAsAction="never"没有具有该属性的项目或它们是不可见的,则不会出现“上三点”。