我是 kotlin 的新手,我需要向操作栏添加操作按钮。我在文件夹 res/menu 中创建了这个 menuTest.xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_fav"
android:icon="@drawable/ic_action_edit"
app:showAsAction="ifRoom"
android:title="@string/edit" />
</menu>
这是我的 layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="DetailItem">
<ImageView
android:id="@+id/itemIdImage"
android:layout_width="358dp"
android:layout_height="214dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:padding="10dp"
app:srcCompat="@drawable/logo"
tools:layout_editor_absoluteX="13dp"
tools:layout_editor_absoluteY="16dp" />
</RelativeLayout>
还有我的 Activity.kt
class DetailCar : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity)
}
}}
最佳答案
您需要覆盖 onCreateOptionsMenu
您的 Activity
中的函数像这样:
override fun onCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.menuTest, menu)
return true
}
要处理菜单项上的点击事件,您需要覆盖
onOptionsItemSelected
:override fun onOptionsItemSelected(item: MenuItem): Boolean = when (item.itemId) {
R.id.action_fav -> {
// do stuff
true
}
else -> super.onOptionsItemSelected(item)
}
关于Kotlin - 向 ActionBar 添加操作按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49429453/