2016-05-24 4 views
-2

Wie lösche ich die Checkbox, nachdem wir das überprüfte Ergebnis erhalten haben?Wie deaktiviere ich das Kontrollkästchen?

etwas wie selection.clear(); aber, dass nur die Ausgabe löschen, nicht die Checkbox.

was ich versuche, ist, das Kontrollkästchen auf den ursprünglichen Zustand, der nicht markiert ist, zu setzen.

nachdem Benutzer das Kontrollkästchen aktiviert und dann auf die Schaltfläche klicken, um das Ergebnis der Checkbox zu erhalten, ich möchte alle Auswahl in der Checkbox löschen. wie bitte helfen?

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); 
    } 
} 

Antwort

1

Sie können

checkBox.setChecked(boolean); 
//to clear the check box 
checkBox.setChecked(false); 

Aktualisiert finalSelection (Ansicht Ansicht) Methode;

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); 
} 

Ändern wirklich wirklich wirklich grundlegende Dinge

//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); 
} 

Ich schlage vor, Sie einige Online-Java-Kurs zu verfolgen. This ist ein guter Anfang.

Um mit dem Lernen der Android-Entwicklung zu beginnen, überprüfen Sie here.

+0

, wo ich diese Linie implementieren sollten? in der öffentlichen ungültigen Endauswahl? –

+0

Ja. Du kannst es überall machen, wo du willst. Aber yeah total können Sie es auf final_selection-Methode tun. –

+0

Muss ich etwas erklären? weil es nicht das Symbol checkBox –

1

zu prüfen:

checkBox.setChecked(true); 

und deaktivieren:

checkBox.setChecked(false); 
0

Ich bin nicht sicher, ob ich y verstehen unsere Frage, aber Sie können ein Kontrollkästchen mit checkBox.setChecked(false) setzen. Um alle markierten Kontrollkästchen zu deaktivieren, führen Sie einfach eine Schleife darüber und deaktivieren Sie die markierten Kontrollkästchen.

+0

wie man über sie schlingen? Entschuldigung, ich bin neu in diesem Ding –

+0

Wenn diese Checkboxen die einzigen sind, ist Schleifen nicht notwendig. Mach einfach 'checkBox.setChecked (false) 'viermal. Anstelle von 'checkBox' verwende '(CheckBox) findViewById (R.id.my_checkbox)'. –

+0

eigentlich sind das nicht vollständige code..ich habe mehr als vier Kontrollkästchen. viele Kontrollkästchen. wie? muss ich jedes von ihnen durch Id erklären? –

0

Wenn Sie sicher sind, dass das Kontrollkästchen aktiviert ist, können Sie sie umschalten.

checkbox.toggle(); 

Ansonsten

checkBox.setChecked(false); // pass true if you want to select.