我在我的android應用程序中有兩個單選按鈕和5個複選框。還有一個保存按鈕。 當用戶點擊保存按鈕時,我需要取消選中用戶選中的複選框。我用以下代碼嘗試過,但它不起作用。如何取消選中的Android複選框
if (chkOthers.isChecked())
chkOthers.setChecked(false);
chkOthers.setSelected(false);
}
我在我的android應用程序中有兩個單選按鈕和5個複選框。還有一個保存按鈕。 當用戶點擊保存按鈕時,我需要取消選中用戶選中的複選框。我用以下代碼嘗試過,但它不起作用。如何取消選中的Android複選框
if (chkOthers.isChecked())
chkOthers.setChecked(false);
chkOthers.setSelected(false);
}
如果你想使用複選框對於這一點,你可以在這兩個複選框設置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);
}
});
我會建議你應該使用單選按鈕這種行爲,因爲他們與這個功能從一開始就內置的。
只需使用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();
}
}
});
}
}
該代碼段的上下文是什麼?它太短而無用。 – Tim
這樣做, if(chkOthers.isChecked()) { chkOthers.performClick(); } 這將對複選框執行正常的點擊操作,該操作也會執行onClickListener(),所以明智地使用它 – Hardik4560