Kotlin - 向 ActionBar 添加操作按钮

标签 kotlin android-actionbar

我是 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/

相关文章:

android - 如何添加 RecyclerView 依赖 - gradle 3

unit-testing - 单元测试-如何测试采用lambda函数的方法?

android - 具有沉浸式全屏模式的工具栏

android - Android L Preview 上 ActionBar 中的 ProgressBar

android - 使用单元测试支持清理 Kotlin 中的协程使用

android - 如何混淆我用 kotlin 编码的 sdk(并摆脱元数据)

android - 创建新的Kotlin项目时无法解决依赖关系

android - 从 fragment 在我的工具栏上设置字幕

android - 从代码中调用 ActionBar 的向上按钮按下

Android:如何将 ActionBar "Home"图标更改为应用程序图标以外的其他内容?