Unchecking RadioButton's - alternative method

前端 未结 1 958
甜味超标
甜味超标 2021-01-04 23:38

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

1条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-01-05 00:31

    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

    0 讨论(0)
提交回复
热议问题