我正在尝试将复选框添加到我的Android应用的菜单中。但我不知道为什么具有android:checkable="true"
属性的项目具有此方框的复选框,但行为与其他项目相同。我是否必须在java代码中写一些东西?我可以读取值但是点击不会改变它的值......
我的菜单\ main.xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_settings"
android:title="@string/settings"/>
<item
android:id="@+id/menu_tests"
android:title="@string/i_want_to_test"/>
<item
android:id="@+id/menu_translating"
android:enabled="false"
android:title="@string/i_want_to_translating"/>
<item
android:id="@+id/menu_funmade"
android:checkable="true"
android:title="Enable funmade"/>
</menu>
查找
最后一个选项与其他没有指定行为的选项一样。我可以点击和manu关闭,状态不会改变。希望你能帮忙。
Andret
答案 0 :(得分:1)
当用户从选项菜单中选择一个项目时(包括操作) 操作栏中的项目),系统调用您的活动 onOptionsItemSelected()方法。
以下代码包含在您的Activity中的onOptionsItemSelected(MenuItem item)
方法中。
<强>代码:强>
switch (item.getItemId()) {
case R.id.menu_settings:
// Specify actions for the menu click
return true;
case R.id.menu_tests:
// Specify actions for the menu click
return true;
case R.id.menu_translating:
// Specify actions for the menu click
return true;
case R.id.menu_funmade:
// Specify actions for the menu click
if (item.isChecked()) {
item.setChecked(false);
} else {
item.setChecked(true);
}
return true;
}
return super.onOptionsItemSelected(item);
您可以查看official docs关于可检查菜单的详细信息。