Java 复选框菜单项不存在';行不通
我的菜单中有这个_check.xml,但是当我点击check时,什么都没有发生,所以祝酒词永远不会出现。。。有什么问题吗?非常感谢Java 复选框菜单项不存在';行不通,java,android,android-checkbox,Java,Android,Android Checkbox,我的菜单中有这个_check.xml,但是当我点击check时,什么都没有发生,所以祝酒词永远不会出现。。。有什么问题吗?非常感谢 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:too
<?xml version="1.0" encoding="utf-8"?>
<menu 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"
tools:context=".MainActivity">
<item
android:id="@+id/action_selecciontodo"
android:title="@string/check"
android:checkable="true"
app:actionViewClass="android.widget.CheckBox"
app:showAsAction="always" />
</menu>
试试这个
menu_main.xml
这应该行得通
快乐编码 不需要app:actionViewClass=“android.widget.CheckBox”就这样做吧
<?xml version="1.0" encoding="utf-8"?>
在oncreate选项菜单中
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.main_menu, menu);
return true;
}
并在OnOptions ItemSelected中编写此代码
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_bookmark:
if (item.isChecked()) {
item.setChecked(false);
Toast.makeText(MainActivity.this, "Un Checked", Toast.LENGTH_SHORT).show();
} else {
item.setChecked(true);
Toast.makeText(MainActivity.this, "Checked", Toast.LENGTH_SHORT).show();
}
break;
}
return super.onOptionsItemSelected(item);
}
在菜单文件夹中的menu.xml中,像这样声明菜单
<?xml version="1.0" encoding="utf-8"?>
因此,当您勾选取消勾选菜单项时,它会显示toast和show复选框已勾选或未勾选谢谢。!但是我需要确认我的支票在我的菜单上是可见的。这就是我使用app:actionViewClass=“android.widget.CheckBox”的原因。在您的示例中,我如何在菜单中看到我的检查?因为app:showAsAction=“always”不起作用。我看不到我的检查。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_bookmark:
if (item.isChecked()) {
item.setChecked(false);
Toast.makeText(MainActivity.this, "Un Checked", Toast.LENGTH_SHORT).show();
} else {
item.setChecked(true);
Toast.makeText(MainActivity.this, "Checked", Toast.LENGTH_SHORT).show();
}
break;
}
return super.onOptionsItemSelected(item);
}
<?xml version="1.0" encoding="utf-8"?>
<item android:id="@+id/menu_bookmark"
android:checkable="true"
android:title="Bookmark"/>