Я попытался несколько способов удалить значение из списка массивов после снятия флажка, но кажется, что мне все еще не удалось.Как удалить значение из ArrayList <String>, когда установлен еще один флажок
В приведенном ниже коде содержится инструкция switch, которая будет содержать наши случаи для каждого окна. В основном, когда пользователь выбирает одно из полей, он сохраняет значение в ArrayList<String>
, а затем я сохраняю его значение по другому методу, используя messageTotalTip = selection.get(0);
Заранее благодарен!
/* Create a View for our Check Boxes */
public void selectTip(View view){
/*Boolean object will check if our checkbox is checked or not*/
boolean checked =((CheckBox) view).isChecked();
switch (view.getId()){
/*Case if 15% is clicked*/
case R.id.cb15Percent:
if(checked){
/*store our value into the ArrayList*/
selection.add("15");
/*To make sure we cant click any other box*/
cb18Percent.setChecked(false);
cb20Percent.setChecked(false);
cbCustomTip.setChecked(false);
/*Try and make sure that our value is erased if unchecked */
if(cb18Percent.isChecked() || cb20Percent.isChecked()||cbCustomTip.isChecked()) {
selection.remove("15");
}
} else {
selection.remove("15");
}
break;
/*Case if 18% is clicked*/
case R.id.cb18Percent:
if(checked){
/*store our value into the ArrayList*/
selection.add("18");
/*Make sure we cant click any other box*/
cb15Percent.setChecked(false);
cb20Percent.setChecked(false);
cbCustomTip.setChecked(false);
/*Try and make sure that our value is erased if unchecked */
if(cb15Percent.isChecked() || cb20Percent.isChecked()||cbCustomTip.isChecked()) {
selection.remove("18");
}
} else {
selection.remove("18");
}
break;
/*Case if 20% is clicked*/
case R.id.cb20Percent:
if(checked) {
/*store our value into the ArrayList*/
selection.add("20");
/*Make sure we cant click any other box*/
cb15Percent.setChecked(false);
cb18Percent.setChecked(false);
cbCustomTip.setChecked(false);
/*Try and make sure that our value is erased if unchecked */
if(cb18Percent.isChecked() || cb15Percent.isChecked()||cbCustomTip.isChecked()) {
selection.remove("20");
}
} else {
selection.remove("20");
}
break;
/*Case if the custom box is checked*/ /************ Add dialogue box later once smaller bugs are fixed ************/
case R.id.cbCustom:
if(checked){
selection.add("100");
/*Make sure we cant click any other box*/
cb15Percent.setChecked(false);
cb18Percent.setChecked(false);
cb20Percent.setChecked(false);
/*Try and make sure that our value is erased if unchecked */
if(cb18Percent.isChecked() || cb20Percent.isChecked()||cb15Percent.isChecked()) {
selection.remove("100");
}
}else {
selection.remove("100");
}
}
}
1. Может ли только один из них когда-либо проверяться в любой момент? 2.Поверните хотя бы один из них? –
Да, и да! Это простой калькулятор чаевых, и поскольку я хочу рассчитать наконечник, мне нужно иметь только одно значение, чтобы я мог рассчитать наконечник. – Robbie08
Почему бы вам не использовать радиокнопки? – jonhid