Android 在操作栏中添加下拉项

Android 在操作栏中添加下拉项,android,kotlin,android-menu,Android,Kotlin,Android Menu,我知道这里已经有人问过这个问题: 我正在尝试实现这些解决方案,但无法找出Kotlin代码使其工作。对不起,我对Android开发还是新手 我创建了overflow_menu.xml: <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:yourapp="http://schemas.android.com/apk/res-auto" > <item android:id=

我知道这里已经有人问过这个问题:

我正在尝试实现这些解决方案,但无法找出Kotlin代码使其工作。对不起,我对Android开发还是新手

我创建了overflow_menu.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:yourapp="http://schemas.android.com/apk/res-auto" >

    <item android:id="@+id/spinner"
        android:title="haveri"
        yourapp:showAsAction="ifRoom"
        yourapp:actionViewClass="android.widget.Spinner" />
</menu>
我尝试了以下方法:

override fun onCreateOptionsMenu(menu: Menu?): Boolean {
    super.onCreateOptionsMenu(menu)
    getMenuInflater().inflate(R.menu.overflow_menu, menu)

    val item = menu?.findItem(R.id.spinner)
    val spinner = MenuItemCompat.getActionView(item) as (Spinner) // get the spinner

    spinner.adapter = adapter
    spinner.setOnItemSelectedListener(onItemSelectedListener);
}
但我不明白这里的适配器是什么?有人能给我指一下相关的文件吗?
非常感谢

您可以创建一个简单的适配器与微调器一起使用:

ArrayAdapter.createFromResource(
        this,
        R.array.planets_array,
        android.R.layout.simple_spinner_item
).also { adapter ->
    // Specify the layout to use when the list of choices appears
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
    // Apply the adapter to the spinner
    spinner.adapter = adapter
}
将其添加到res/values/arrays.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="planets_array">
        <item>Mercury</item>
        <item>Venus</item>
        <item>Earth</item>
        <item>Mars</item>
        <item>Jupiter</item>
        <item>Saturn</item>
        <item>Uranus</item>
        <item>Neptune</item>
    </string-array>
</resources>

水星
维纳斯
土
火星
木星
土星
天王星
海王星
我从官方文档中的示例中获取了该代码:

微调器:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="planets_array">
        <item>Mercury</item>
        <item>Venus</item>
        <item>Earth</item>
        <item>Mars</item>
        <item>Jupiter</item>
        <item>Saturn</item>
        <item>Uranus</item>
        <item>Neptune</item>
    </string-array>
</resources>