来自您的代码:
menu.add(0, v.getId(), 0, "Remove");
v 是一个可以是 RadioButton 或任何其他类型的视图的视图。
如果您不使用 xml 来定义 RadioButton。你应该在你的应用程序中设置它的 ID。
v.setId();
或者您可以在 res/values 中定义 ids.xml。
samples/ApiDemos/src/com/example/android/apis/RadioGroup1.java samples/ApiDemp/res/values/ids.xml
菜单和上下文菜单开发者指南:
http://developer.android.com/guide/topics/ui/menus.html
如果您滚动上面的页面,您可以在上下文菜单中找到 RadioButton 示例。
引用来自上述页面:
可检查的菜单项
菜单可以用作界面
用于打开和关闭选项,使用
独立选项的复选框,或
相互组的单选按钮
独家选项。图 2 显示了一个
带有可检查项目的子菜单
带有单选按钮。
注意:图标菜单中的菜单项
(从选项菜单)无法显示
复选框或单选按钮。如果你
选择在图标菜单中制作项目
可检查,您必须手动指明
通过交换图标检查状态
和/或文本每次状态
变化。
您可以定义可检查的行为
对于单个菜单项,使用
android:checkable 中的属性
元素,或整个组
使用 android:checkableBehavior
元素中的属性。为了
例如,此菜单组中的所有项目
可以通过单选按钮进行检查:
> <?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/red"
> android:title="@string/red" />
> <item android:id="@+id/blue"
> android:title="@string/blue" />
> </group> </menu> The android:checkableBehavior attribute
接受:
single 组中只有一项
可以选中(单选按钮) 全部 全部
可以选中的项目(复选框)无
没有可检查的项目 您可以申请
项目的默认选中状态使用
android:checked 中的属性
元素并在代码中更改它
使用 setChecked() 方法。
当一个可检查的项目被选中时,
系统调用你各自的
item-selected 回调方法(如
onOptionsItemSelected())。是这里
你必须设置的状态
复选框,因为复选框或收音机
按钮不改变其状态
自动地。您可以查询
项目的当前状态(因为它是
在用户选择它之前)
isChecked() 然后设置检查
setChecked() 的状态。例如:
> @Override public boolean
> onOptionsItemSelected(MenuItem item) {
> switch (item.getItemId()) { case
> R.id.vibrate: case
> R.id.dont_vibrate:
> if (item.isChecked()) item.setChecked(false);
> else item.setChecked(true);
> return true; default:
> return super.onOptionsItemSelected(item); }
> }
如果不设置选中状态
这样,那么可见状态
项目(复选框或单选
按钮)不会改变当用户
选择它。当你设置状态时,
Activity 保留选中的
项目的状态,以便当
用户稍后打开菜单,选中
你设置的状态是可见的。
注意:可检查的菜单项是
仅用于
每会话基础,之后不保存
应用程序被破坏。如果你
有您的应用程序设置
想为用户存钱,你
应该使用 Shared 存储数据
偏好。