在我們課堂上給我的問題是,您可以選擇標記爲(A,B,C,D)的4個複選框。每個複選框的值爲10.如果選中其中一個,則EditText中顯示的數字將爲10,如果選中兩個,則數字爲20,依此類推。簡單複選框邏輯
任何人都可以告訴我怎麼看這onClick類?謝謝!
在我們課堂上給我的問題是,您可以選擇標記爲(A,B,C,D)的4個複選框。每個複選框的值爲10.如果選中其中一個,則EditText中顯示的數字將爲10,如果選中兩個,則數字爲20,依此類推。簡單複選框邏輯
任何人都可以告訴我怎麼看這onClick類?謝謝!
用不同的ID創建四個複選框,比如說CB_One,CB_Two,CB_Three,CB_Four和Ids cb_one,cb_two,cb_three,cb_four。把onCheckedChangedListener所有,然後checkChenged值傳遞給EDITTEXT爲10,20,30 40.
CB_One.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
if(isChecked){
editText.setText("10");
} else{
editText.setText("");
}
}
}
);
CB_Two.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
if(isChecked){
editText.setText("20");
} else{
editText.setText("");
}
}
}
);
CB_Three.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
if(isChecked){
editText.setText("30");
} else{
editText.setText("");
}
}
}
);
CB_Four.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
if(isChecked){
editText.setText("40");
} else{
editText.setText("");
}
}
}
);
保留一個計數器並擁有一個通用監聽器來減少代碼,從而使其更易於管理。 –
我同意......... – Nishith
用戶OnCheckChangeListener複選框這樣
checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
if(isChecked){
// increment your counter by 10
} else{
// Decrement your counter by 10
}
}
}
);
我認爲你應該使用單選按鈕而不是複選框如果你想在EditText中一次只顯示一個值。 – Shruti
保持計數。在偵聽器中選中複選框時遞增計數器,反之亦然。根據當前計數* 10更新編輯文本。 –