我们得到检查结果后如何清除复选框?
类似于selection.clear();
但是,它只清除输出,而不是复选框。
我要做的是,将复选框设置为未选中的原始状态。
用户选中复选框后,单击按钮获取复选框的结果,我希望清除复选框中的所有选项。怎么请帮忙?
public class DessertIngAvail extends Dessert {
ArrayList<String> selection = new ArrayList<String>();
TextView final_text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dessert_ing_avail);
final_text = (TextView)findViewById(R.id.final_result);
final_text.setEnabled(false);
}
public void selectItem(View view){
boolean checked = ((CheckBox) view).isChecked();
switch (view.getId()) {
case R.id.checkBox181:
if(checked) {
if(!selection.contains("Tebaloi"))
selection.add("Tebaloi");
if(!selection.contains("Tumpik"))
selection.add("Tumpik");
}
break;
case R.id.checkBox182:
if(checked) {
if(!selection.contains("Ambuyat"))
selection.add("Ambuyat");
}
break;
case R.id.checkBox183:
if(checked) {
if(!selection.contains("Tumpik"))
selection.add("Tumpik");
}
break;
case R.id.checkBoxCM:
if(checked) {
if(!selection.contains("Honey Frankincense Cake"))
selection.add("Honey Frankincense Cake");
if(!selection.contains(" Ray Heart Cake"))
selection.add(" Ray Heart Cake");
}
break;
}
}
public void finalSelection(View view) {
String final_fruit_selection = "";
for(String Selection : selection) {
final_fruit_selection = final_fruit_selection + Selection + "\n";
}
final_text.setText(final_fruit_selection);
selection.clear();
final_text.setEnabled(true);
}
}
答案 0 :(得分:1)
您可以使用
checkBox.setChecked(boolean);
//to clear the check box
checkBox.setChecked(false);
更新了finalSelection(视图视图)方法;
public void finalSelection(View view){
String final_fruit_selection = "";
for(String Selection : selection){
final_fruit_selection = final_fruit_selection + Selection + "\n";
}
final_text.setText(final_fruit_selection);
selection.clear();
final_text.setEnabled(true);
//now clear checkboxes
checkBox181.setChecked(false);
checkBox182.setChecked(false);
checkBox183.setChecked(false);
checkBoxCM.setChecked(false);
}
改变真正非常基本的东西
//right below TextView final_text; at the top add this
CheckBox checkBox181,checkBox182,checkBox183,checkBoxCM;
//declare then in onCreate()
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dessert_ing_avail);
final_text = (TextView)findViewById(R.id.final_result);
final_text.setEnabled(false);
checkBox181=(CheckBox)findViewById(R.id.checkBox181);
checkBox182=(CheckBox)findViewById(R.id.checkBox182);
checkBox183=(CheckBox)findViewById(R.id.checkBox183);
checkBoxCM=(CheckBox)findViewById(R.id.checkBoxCM);
}
我建议你在线跟进一些java课程。 This是一个很好的起点。
开始学习android开发检查here。
答案 1 :(得分:1)
检查:
checkBox.setChecked(true);
并取消选中:
checkBox.setChecked(false);
答案 2 :(得分:0)
使用setChecked()
:
checkBox.setChecked(true/false)
文档:https://developer.android.com/reference/android/widget/CheckBox.html
答案 3 :(得分:0)
我不确定我理解您的问题,但您可以使用checkBox.setChecked(false)
设置复选框。要取消选中所有选中的复选框,只需循环选中它们并取消选中已选中的复选框。
答案 4 :(得分:0)
如果您确定选中了复选框,则可以切换它们。
checkbox.toggle();
否则
checkBox.setChecked(false); // pass true if you want to select.