android radiobutton点击后一直是选中状态,怎么再点击后取消选中

 我来答
皮蛋粯子粥
高粉答主

推荐于2019-11-10 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1398
采纳率:79%
帮助的人:44.8万
展开全部

设置一个全局变量为RadioButton的状态,设置RadioButton点击监听事件,监听你是否点击按钮,如果按钮是点击状态,那再次点击后就会取消选中。

代码如下:
final RadioButton rb_bug = (RadioButton) view.findViewById(R.id.rb_buy);
final GlobalValue globalValue = new GlobalValue();
rb_bug.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean isCheck = globalValue.isCheck();
if(isCheck)
{
if(v==rb_bug)rb_bug.setChecked(false);
}
else
{
if(v==rb_bug)rb_bug.setChecked(true);
}
globalValue.setCheck(!isCheck);
}
});
public class GlobalValue {
public boolean isCheck() {
return isCheck;
}
public void setCheck(boolean check) {
isCheck = check;
}
private boolean isCheck;
}

扩展资料:

RadioButton使用步骤

1、RadioButton是圆形单选框

2、RadioGroup是个可以容纳多个RadioButton的容器。

3、在RadioGroup中的RadioButton控件可以有多个,但同时有且仅有一个可以被选中。

代码如下:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="请选择性别" />

<RadioGroup

android:id="@+id/rg_sex"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal" >

<RadioButton

android:id="@+id/rb_Male"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="男" />

<RadioButton

android:id="@+id/rb_FeMale"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="女" />

</RadioGroup>

</LinearLayout>

参考资料:

百度百科:RadioButton

新鲜の鱼313233b
推荐于2019-11-10 · TA获得超过2452个赞
知道答主
回答量:77
采纳率:0%
帮助的人:8.1万
展开全部

Radiobutton既单选框,多个单选框中必须有一个是选中的,如果你想选择之后又取消,那么要使用CheckBox来实现改变它的状态,方式有三种:

1、XML中申明 android:check="true|false"

2、代码动态改变 checkBox.setChecked(true|false)

3、用户触摸 这个由android系统自动改变

RadioButton使用步骤:

1、RadioButton是圆形单选框

2、RadioGroup是个可以容纳多个RadioButton的容器。

3、在RadioGroup中的RadioButton控件可以有多个,但同时有且仅有一个可以被选中。

代码如下:

final RadioButton rb_bug = (RadioButton) view.findViewById(R.id.rb_buy);

final GlobalValue globalValue = new GlobalValue();

rb_bug.setOnClickListener(new View.OnClickListener() 

{@Overridepublic void onClick(View v) {boolean isCheck = globalValue.isCheck();

if(isCheck{if(v==rb_bug)rb_bug.setChecked(false);}

else{if(v==rb_bug)rb_bug.setChecked(true);}globalValue.setCheck(!isCheck);}});

public class GlobalValue {public boolean isCheck() {return isCheck;}public void setCheck(boolean check)

{isCheck = check;}private boolean isCheck;}

参考资料:百度百科:RadioButton

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QQMSD8
推荐于2017-10-15 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部
Radiobutton既单选框,多个单选框中必须有一个是选中的
如果你想选择之后又取消,那么要使用CheckBox来实现

改变它的状态,方式有三种:
1、XML中申明 android:check="true|false"
2、代码动态改变 checkBox.setChecked(true|false);
3、用户触摸 这个由android系统自动改变
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
542294712
2014-05-26 · TA获得超过120个赞
知道答主
回答量:87
采纳率:0%
帮助的人:49.6万
展开全部
在对这个radiobutton进行点击事件监听,
监听处理方法中写入 radiobutton(单选框名字).setChecked(false);就可以了
追问
一定要在代码方面才能实现这个吗
在xml布局文件中不能实现这个功能?
追答
不行的,radiobutton的属性就是单选一个,点击选中之后是有且只有一个。
你可以选择checkbox。这样的话点击还能够取消掉
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
JulioHu706
2014-05-26 · TA获得超过653个赞
知道小有建树答主
回答量:789
采纳率:0%
帮助的人:432万
展开全部
必须在代码里实现对radiobutton点击事件的监听。xml里面只是一个默认值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式