从代码:
menu.add(0, v.getId(), 0, "Remove");
v是一个观点,即可以是一个单选按钮或任何其他类型的意见。
如果您不使用xml来定义RadioButton。你应该在你的应用程序中设置它的ID。
v.setId();
或者你也可以在res/values中定义ids.xml。
样本/ ApiDemos/SRC/COM /示例/机器人的/ apis/RadioGroup1.java样本/ ApiDemp/RES /值/ ids.xml
菜单&上下文菜单的开发者指南:
http://developer.android.com/guide/topics/ui/menus.html
如果您滚动上面的页面,您可以在上下文菜单中找到RadioButton示例。
报价形成上述页:
可选中菜单项
的菜单可以是作为用于打开和关闭选项的接口 有用,使用 单机选项的复选框,或 单选按钮组的单选按钮 。图2显示了一个 子菜单,带有单选按钮的可检查项目 。
注意:图标菜单 中的菜单项(来自选项菜单)不能显示 复选框或单选按钮。如果 选择使图标菜单 中的项目可选,则必须在每次更改状态 时通过交换图标 和/或文本来手动指示 已选中状态。
可以定义为使用Android的 各个菜单项的可检查的行为 :可检查属性在 元素,或为整个群体 了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
可以接受:
单选自 只能有一个选项被选中(单选按钮)全部全部 项目可以被选中(复选框)无 没有项目可选您可以将 默认选中状态应用到项目中使用 android:checked属性 元素,并使用setChecked()方法将其更改为代码 。
当选择了一个可检查的项目,则系统 呼叫您各自 所选项目-回调方法(如 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); }
> }
如果不设置选中状态
这样,那么 项目(复选框或单选按钮 )的可见状态不会改变的时候用户 选择它。当您设置状态 时,“活动”将保留项目的选中 状态,以便稍后用户打开菜单时,您设置的已选中的 状态可见。
注:可选中菜单项 打算在 每个会话只用,而不是保存在应用程序被破坏后 。如果您的 具有 想为用户保存的应用程序设置,则您的 应使用共享 首选项存储数据。
我不是从XML夸大我的上下文菜单。我怎么能在代码中做到这一点? – 2010-09-04 07:13:07
@Sheehan:回答编辑。看第一部分。 – mhshams 2010-09-04 07:32:43
不知道我是否明白你的意思。我会为v.setId()设置什么? – 2010-09-04 07:47:57