取消选中单选按钮的 - 另类方法 [英] Unchecking RadioButton's - alternative method

查看:147
本文介绍了取消选中单选按钮的 - 另类方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有由cliking在检查单选按钮来取消一个单选按钮任何可能的方式?

解决方案

  RadioGroup中RadioGroup中;
单选radioButton1;
单选radioButton2;
单选radioButton3;

布尔黑客= FALSE;

@覆盖
保护无效的onCreate(包savedInstanceState)
{
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.main);

    RadioGroup中=(RadioGroup中)findViewById(R.id.rg);
    radioButton1 =(单选)findViewById(R.id.r1);
    radioButton2 =(单选)findViewById(R.id.r2);
    radioButton3 =(单选)findViewById(R.id.r3);

    OnClickListener radioClickListener =新OnClickListener()
    {

        公共无效的onClick(视图v)
        {
            如果(v.getId()== radioGroup.getCheckedRadioButtonId()&安培;&安培;劈)
            {
                radioGroup.clearCheck();
            }
            其他
            {
                破解= TRUE;
            }
        }
    };

    OnCheckedChangeListener radioCheckChangeListener =新OnCheckedChangeListener()
    {

        @覆盖
        公共无效onCheckedChanged(CompoundButton buttonView,布尔器isChecked)
        {
            破解= FALSE;
        }
    };

    radioButton1.setOnCheckedChangeListener(radioCheckChangeListener);
    radioButton2.setOnCheckedChangeListener(radioCheckChangeListener);
    radioButton3.setOnCheckedChangeListener(radioCheckChangeListener);

    radioButton1.setOnClickListener(radioClickListener);
    radioButton2.setOnClickListener(radioClickListener);
    radioButton3.setOnClickListener(radioClickListener);

}
 

好了,现在我已经更新了。这应该Philipz

Is there any possible way to uncheck a RadioButton by cliking on the checked RadioButton?

解决方案

RadioGroup radioGroup;
RadioButton radioButton1;
RadioButton radioButton2;
RadioButton radioButton3;

boolean hack = false;

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    radioGroup = (RadioGroup) findViewById(R.id.rg);
    radioButton1 = (RadioButton) findViewById(R.id.r1);
    radioButton2 = (RadioButton) findViewById(R.id.r2);
    radioButton3 = (RadioButton) findViewById(R.id.r3);

    OnClickListener radioClickListener = new OnClickListener()
    {

        public void onClick(View v)
        {
            if (v.getId() == radioGroup.getCheckedRadioButtonId() && hack)
            {
                radioGroup.clearCheck();
            }
            else
            {
                hack = true;
            }
        }
    };

    OnCheckedChangeListener radioCheckChangeListener = new OnCheckedChangeListener()
    {

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
        {
            hack = false;
        }
    };

    radioButton1.setOnCheckedChangeListener(radioCheckChangeListener);
    radioButton2.setOnCheckedChangeListener(radioCheckChangeListener);
    radioButton3.setOnCheckedChangeListener(radioCheckChangeListener);

    radioButton1.setOnClickListener(radioClickListener);
    radioButton2.setOnClickListener(radioClickListener);
    radioButton3.setOnClickListener(radioClickListener);

}

Ok now i have updated it. This should work Philipz

这篇关于取消选中单选按钮的 - 另类方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆