弹出菜单复选框不会



我有一个带有两个复选框的弹出菜单,但是当我按下其中任何一个时,菜单就会消失,并且它们的状态没有任何变化。我环顾四周,发现了对其他人有用的东西,但它们对我不起作用

public boolean onOptionsItemSelected(MenuItem item)
{

if(item.isChecked())
{
item.setChecked(false);
}
else
{
item.setChecked(true);
}
switch(item.getItemId())
{
case R.id.lockscreen:
if(item.isChecked()) item.setChecked(!item.isChecked());
break;
case R.id.notif:
if(item.isChecked()) item.setChecked(!item.isChecked());
break;
default:
return super.onOptionsItemSelected(item);
}

return true;
}

这是菜单的 XML

<group android:checkableBehavior="all">
<item android:id="@+id/lockscreen"
android:title="Lockscreen"
android:checked="false"
android:checkable="true"/>
<item android:id="@+id/notif"
android:title="Notification"
android:checked="false"
android:checkable="true"/>
</group>
if(item.isChecked()) {
item.setChecked(false);
}
else {
item.setChecked(true);
}

如果之前检查过,这些行似乎会立即取消选中该项目......
你在这个 if-else 结构中想做什么?
只需将其注释掉,让其他 if 语句完成所有工作(cases 中的语句(。

最新更新