2016-07-01 1 views
2

J'ai une boucle for et je suis en train de faire des recherches. Je veux montrer un message toast lorsque le processus échoue. Je peux montrer le message de toast mais il ne disparaît pas quand je veux rechercher encore. Supprimer Toast de for loop peut vous aider!Toast Le message ne disparaît pas

public String SearchInstallationBySerialNumber(String serial){ 
    String installation = null; 
    for(int i = 0; i < _allItems.size(); i++){ 
     OsbDownloadItem currentOsbItem = _allItems.get(i); 
     if(!currentOsbItem.getSerialNumber().equals(serial)){ 
      Toast.makeText(mActivity, 
          "unsuccessful searching", 
          Toast.LENGTH_SHORT).show(); 
      continue; 
     }else{ 
      installation = currentOsbItem.getInstallation(); 
     } 
    } 
    return installation; 
} 
+0

Vous appelez peut-être ceci 'Toast.makeText' dans la boucle? 'continuer' passe à la prochaine itération droite? –

+0

Peut-être que vous devriez enregistrer le toast et appeler toast.cancel() si vous voulez cacher un vieux toast. – flob

+0

je ne peux pas appeler Toast.cancel() – Nagikho

Répondre

1

public String SearchInstallationBySerialNumber(String serial) { 

    String installation = null; 
    for (int i = 0; i < _allItems.size(); i++) { 

     OsbDownloadItem currentOsbItem = _allItems.get(i); 
     if (currentOsbItem.getSerialNumber().equals(serial)) { 

      installation = currentOsbItem.getInstallation(); 
      break; 
     } 

    } 
    if (installation == null) { 
     Toast.makeText(mActivity, "unsuccessful searching", Toast.LENGTH_SHORT).show(); 
    } 
    return installation; 
} 
+0

Cela fonctionne:) Merci beaucoup !!! – Nagikho