2017-10-07 3 views
-4

J'ai un problème étrange avec la méthode onQueryTextChanged avec SearchView dans android. Mon problème est que lorsqu'un texte spécifique, par exemple: "Al a" a été entré (c'est-à-dire juste après avoir entré la lettre "a" dans le champ de recherche), le searchView se ferme par lui-même. Mais si j'entre dans "Al A" c'est-à-dire en capitalisant "a" il n'y a pas de problème. De même, le même problème persiste avec "Al b", "Al c", etc ... etc. Au début, je pensais que cela avait quelque chose à voir avec les séquences d'échappement, mais ce n'est pas vrai. Je suis désemparé, s'il vous plaît aider.onQueryTextChanged La méthode dans la méthode searchView remonte à zéro sans filtrer/publier les résultats de la recherche

private void search(SearchView searchView) { 
     searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { 

      @Override 
      public boolean onQueryTextSubmit(String query) { 
       return false; 
      } 

      @Override 
      public boolean onQueryTextChange(String newText) { 

       System.out.println("text entered="+newText); 

       if (condition!= null) { 
        if (newText.length()!=0) { //if newText is not empty 
        } else { 
isFiltersActive = false; 
        } 
        ListAdapter.getFilter().filter(newText); 
       } else 
        isFiltersActive = false; 
       return true; 
      } 
     }); 
     searchView.setOnCloseListener(new SearchView.OnCloseListener() { 
      @Override 
      public boolean onClose() { 
      } 
     }); 
    } 
+1

veuillez poster le code. –

+0

s'il vous plaît vérifier le message à nouveau. J'ai ajouté du code. – Faisal

Répondre

0
onQueryTextSubmit: 

Appelé lorsque l'utilisateur soumet la requête. Cela peut être dû à une touche appuyez sur le clavier ou en appuyant sur un bouton d'envoi. L'écouteur peut remplacer le comportement standard en renvoyant true pour indiquer que a traité la demande de soumission. Sinon, renvoyez false pour permettre à SearchView de gérer la soumission en lançant toute intention associée.

Renvoie la valeur true de la fonction onQueryTextSubmit. Pour vérifier si la chaîne est vide ou vide, utilisez TextUtils.isEmpty() Renvoie true si la chaîne est définie sur une valeur nulle ou sur 0 longueur.