onCheckedChanged를 써서 isChecked, setCheked if문을 걸어줘야 합니까?
다른 방법이 있습니까?
답변 감사합니다
cb =(CheckBox)findViewById(R.id.cb1);
cb.setOnCheckedChangeListener(this);
cb1 =(CheckBox)findViewById(R.id.cb2);
cb1.setOnCheckedChangeListener(this);
cb2 =(CheckBox)findViewById(R.id.cb3);
cb2.setOnCheckedChangeListener(this);
cb3 =(CheckBox)findViewById(R.id.cb4);
cb3.setOnCheckedChangeListener(this);
cb4 =(CheckBox)findViewById(R.id.cb5);
cb4.setOnCheckedChangeListener(this);}
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked){
if(cb.isChecked() == true)
{
cb1.setChecked(false);
cb2.setChecked(false);
cb3.setChecked(false);
cb4.setChecked(false);
}
else
{
DisplayToast("Clickesd Checked");
}
if(cb1.isChecked() == true){
cb.setChecked(false);
cb2.setChecked(false);
cb3.setChecked(false);
cb4.setChecked(false);
}
if(cb2.isChecked() == true){
cb.setChecked(false);
cb1.setChecked(false);
cb3.setChecked(false);
cb4.setChecked(false);
}
if(cb3.isChecked() == true){
cb1.setChecked(false);
cb2.setChecked(false);
cb.setChecked(false);
cb4.setChecked(false);
}
if(cb4.isChecked() == true){
cb1.setChecked(false);
cb2.setChecked(false);
cb.setChecked(false);
cb3.setChecked(false);
}
};
/// Toast
private void DisplayToast(String msg)
{
Toast.makeText(getBaseContext(), msg,
Toast.LENGTH_SHORT).show();
}}
if문을 잘 못 써서 그런지
if문이 선행되는 체크박스의 경우 체크된 상태에서 뒤에 오는 체크박스의 체크가 실행되지 않고
반대로 뒤에 오는 체크박스의 경우 체크된 상태에서 if문이 선행된 체크박스의 체크가 실행이 됩니다