上下文菜单未更改单选按钮的状态

时间:2020-06-22 02:18:18

标签: android contextmenu android-menu

我正在实现上下文菜单并在单击按钮时显示。菜单项应该是单选可点击的行为,因此我使用了group建议的here。但是,即使我在onContextItemSelected方法中获得了单击项的事件,单击项(RadioButton)的状态也没有改变。如何使用它更改RadioButton的状态?下面是代码。在 filter_menu_items XML中-

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
    <item
        android:id="@+id/itemPromotion"
        android:title="@string/service_promotion" />
    <item
        android:id="@+id/serviceCircular"
        android:title="@string/service_circular" />
</group></menu>

活动中-

override fun onCreateContextMenu(menu: ContextMenu?, v: View?, menuInfo: ContextMenu.ContextMenuInfo?){
    super.onCreateContextMenu(menu, v, menuInfo)
    menuInflater.inflate(R.menu.filter_menu_items, menu)
}

override fun onContextItemSelected(item: MenuItem): Boolean {
    //val info = item.menuInfo as AdapterView.AdapterContextMenuInfo
    return when (item.itemId) {
        R.id.itemPromotion -> {
            item.isChecked = !item.isChecked
            true
        }
        R.id.serviceCircular -> {
            item.isChecked = !item.isChecked
            true
        }
        else -> super.onContextItemSelected(item)
    }
}

0 个答案:

没有答案