2010-12-08 48 views

回答

22
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); 

} 

好吧,现在我已经更新了它。这应该工作Philipz

+0

好的男人,虐待测试它后,非常感谢您的答案,谢谢! – 2010-12-09 07:40:56