Android アプリに 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);
}
});
最初からこの機能が組み込まれているため、この動作にはラジオ ボタンを使用することをお勧めします。