2016-05-24 1 views
-2

comment effacer la case cochée après avoir obtenu le résultat vérifié?Comment décocher la case cochée?

quelque chose comme selection.clear(); mais, que seulement effacer la sortie, pas la case à cocher. Ce que j'essaye de faire est, pour mettre la case à cocher à l'état original, qui est décoché.

après que l'utilisateur a coché la case puis cliquez sur le bouton pour obtenir le résultat de la case à cocher, je souhaite effacer toute la sélection dans la case à cocher. comment s'il vous plaît aider?

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

Répondre

1

Vous pouvez utiliser

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

Mise à jour méthode finalSelection (Voir vue);

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

changer les choses vraiment vraiment vraiment de base

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

je vous suggère de suivre un peu de cours java en ligne. This est un bon endroit pour commencer.

Pour commencer à apprendre le développement Android, vérifiez here.

+0

où dois-je mettre en œuvre cette ligne? dans «la sélection finale du vide public»? –

+0

Oui. Vous pouvez le faire n'importe où vous voulez. Mais ouais totalement vous pouvez le faire sur la méthode final_selection. –

+0

dois-je déclarer quelque chose? parce qu'il ne peut pas résoudre le symbole checkBox –

1

Pour vérifier:

checkBox.setChecked(true); 

et de décocher:

checkBox.setChecked(false); 
0

Je ne suis pas sûr que je comprends y notre question, mais vous pouvez définir une case à cocher en utilisant checkBox.setChecked(false). Pour décocher toutes les cases cochées, il suffit de les faire défiler et de décocher celles qui sont cochées.

+0

comment faire une boucle sur eux? désolé je suis nouveau dans cette chose –

+0

Si ces cases à cocher sont les seuls, la boucle n'est pas nécessaire. Faites simplement 'checkBox.setChecked (false) 'quatre fois. Au lieu de 'checkBox', utilisez' (CheckBox) findViewById (R.id.my_checkbox) '. –

+0

effectivement ce ne sont pas le code complet .. J'ai plus de quatre case à cocher. beaucoup de case à cocher. alors comment? dois-je déclarer chacun d'entre eux par Id? –

0

Si vous êtes sûr que les cases à cocher sont cochées, vous pouvez les basculer.

checkbox.toggle(); 

Sinon

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