android radiobutton点击后一直是选中状态,怎么再点击后取消选中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android radiobutton点击后一直是选中状态,怎么再点击后取消选中相关的知识,希望对你有一定的参考价值。
设置一个全局变量为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
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(isCheckif(v==rb_bug)rb_bug.setChecked(false);
elseif(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
参考技术B Radiobutton既单选框,多个单选框中必须有一个是选中的如果你想选择之后又取消,那么要使用CheckBox来实现
改变它的状态,方式有三种:
1、XML中申明 android:check="true|false"
2、代码动态改变 checkBox.setChecked(true|false);
3、用户触摸 这个由android系统自动改变 参考技术C 在对这个radiobutton进行点击事件监听,
监听处理方法中写入 radiobutton(单选框名字).setChecked(false);就可以了追问
一定要在代码方面才能实现这个吗
在xml布局文件中不能实现这个功能?
不行的,radiobutton的属性就是单选一个,点击选中之后是有且只有一个。
你可以选择checkbox。这样的话点击还能够取消掉
Android中的checkbox和RadioButton的区别
1、单个RadioButton在选中后,通过点击无法变为未选中
单个CheckBox在选中后,通过点击可以变为未选中
2、一组RadioButton,只能同时选中一个
一组CheckBox,能同时选中多个
3、RadioButton在大部分UI框架中默认都以圆形表示
CheckBox在大部分UI框架中默认都以矩形表示
以上是关于android radiobutton点击后一直是选中状态,怎么再点击后取消选中的主要内容,如果未能解决你的问题,请参考以下文章
android中RadioButton的setChecked(true)无效或点击状态无反应问题
android中RadioButton的setChecked(true)无效或点击状态无反应问题