有时候做一些非常简单的事情,你会错过一些大事。我必须错过一些巨大的东西,因为我无处可去(并且在网上筛选一小时没有透露任何内容)。
我希望在菜单中包含带有复选标记的项目 - 就像简单的RadioGroup布局一样。我得到了菜单,但没有任何类型的复选标记。
这是res / menu / options_menu.xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<group android:checkableBehavior="single">
<item
android:id="@+id/item1"
android:title="item1"
/>
<item
android:id="@+id/item2"
android:title="item2"
/>
<item
android:id="@+id/item3"
android:title="item3"
android:checked="true"
/>
</group>
</menu>
当然,这是我的活动中的相关方法:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
return true;
}
这就像我能做到的一样简单 - 关于我所缺少的任何想法?
答案 0 :(得分:2)
我认为您尝试创建选项菜单(通过单击菜单按钮显示)并根据此
注意:图标菜单中的菜单项(来自“选项”菜单)不能 显示复选框或单选按钮。如果你选择在中制作物品 图标菜单可选,您必须手动指示已检查状态 每次状态改变时交换图标和/或文本。
您无法在OptionsMenu中添加群组菜单。所以我认为你应该使用上下文菜单或子菜单。 看一下这个article
答案 1 :(得分:2)
这是解决方法:
在strings.xml文件中,您可以嵌入unicode复选标记。有两种可供选择。对于这个项目,我更喜欢友好的检查\ u2714。然后根据需要通过onPrepareOptionsMenu()将字符串与没有它的字符串的复选标记交换。
这是xml代码中的两个字符串,一个带有一个没有复选标记:
<string name="opp_random">unchecked</string>
<string name="opp_random_check">\u2714 checked</string>
快乐的编码!
答案 2 :(得分:0)
怎么样
android:checkable="true"