Android 在操作栏中添加下拉项
我知道这里已经有人问过这个问题: 我正在尝试实现这些解决方案,但无法找出Kotlin代码使其工作。对不起,我对Android开发还是新手 我创建了overflow_menu.xml: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=
<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>