Android app。と保存ボタンにも2つのラジオボタンと5つのチェックボックスがあります。ユーザーが保存ボタンをクリックしたとき、ユーザーがチェックしたチェックボックスをオフにする必要があります。私は次のコードですが、機能していません。
if (chkOthers.isChecked())
chkOthers.setChecked(false);
chkOthers.setSelected(false);
}
ボタンのchk1.toggle()onClickを使用して、チェックされているチェックボックスをオフにします。
public class TestCheckBoxActivity extends Activity {
/** Called when the activity is first created. */
CheckBox chk1, chk2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
chk1 = (CheckBox)findViewById(R.id.checkBox1);
chk2 = (CheckBox)findViewById(R.id.checkBox2);
Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(chk1.isChecked()){
chk1.toggle();
}
if(chk2.isChecked()){
chk2.toggle();
}
}
});
}
}
これにチェックボックスを使用したい場合は、両方のチェックボックスにonItemClickListenerを設定し、onItemClick()メソッドで他のチェックボックスをオフにする必要があります。例は次のようになります:-
CheckBox cb1,cb2;
//Considering you can initialize the above variables
cb1.setOnCheckedChangeListener(new OnCheckedChangeListener{
onCheckedChanged (CompoundButton view, boolean isChecked){
cb2.setChecked(false);
}
});
cb2.setOnCheckedChangeListener(new OnCheckedChangeListener{
onCheckedChanged (CompoundButton view, boolean isChecked){
cb1.setChecked(false);
}
});
最初からこの機能が組み込まれているため、この動作にはラジオボタンを使用することをお勧めします。