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既单选框,多个单选框中必须有一个是选中的,如果你想选择之后又取消,那么要使用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
推荐于2017-10-15 · 知道合伙人软件行家
如果你想选择之后又取消,那么要使用CheckBox来实现
改变它的状态,方式有三种:
1、XML中申明 android:check="true|false"
2、代码动态改变 checkBox.setChecked(true|false);
3、用户触摸 这个由android系统自动改变
监听处理方法中写入 radiobutton(单选框名字).setChecked(false);就可以了
一定要在代码方面才能实现这个吗
在xml布局文件中不能实现这个功能?
不行的,radiobutton的属性就是单选一个,点击选中之后是有且只有一个。
你可以选择checkbox。这样的话点击还能够取消掉
广告 您可能关注的内容 |