【问题标题】:Unchecking RadioButton's - alternative method取消选中 RadioButton 的 - 替代方法
【发布时间】:2011-05-22 09:45:08
【问题描述】:

有没有办法通过单击选中的 RadioButton 来取消选中 RadioButton?

【问题讨论】:

    标签: android widget radio-button


    【解决方案1】:
    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);
    
    }
    

    好的,现在我已经更新了。这应该工作菲利普兹

    【讨论】:

    • 好的,稍后测试一下,非常感谢您的回答,谢谢!
    • 嘿伙计,它从不检查 RadioButton,因为它正在检查,然后取消检查,所以最终状态是未检查的! ://
    • 是的,Philipz 对其进行了测试,并按照您所说的方式找到了它。但是,我设法在布尔值的帮助下使其工作。稍后将更新答案。
    • @Philipz 更新了代码。这是一个简单的解决方法,效果很好
    • @Varun,这个解决方案对我不起作用:(问题:如果我第一次单击未选中的按钮,它将被选中,然后我再次单击它未选中但是,如果我尝试单击然后它没有被选中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 2012-07-15
    相关资源
    最近更新 更多