0
votes

Comment supprimer l'espace d'article caché du tiroir de navigation lors de la masquage d'un élément de menu?

J'ai une recherche pour rechercher sur le tiroir de navigation, il masque les éléments qui ne répondent pas aux critères de recherche, le problème est que les espaces éléments cachés sont toujours là. Comment puis-je supprimer ces espaces? Avant de chercher:

 Entrez la description de l'image ici

après la recherche: Entrez la description de l'image ici

code de recherche de surquerytextlistener xxx

pd: vue.gone ne fonctionne pas pour moi < / p>


4 commentaires

S'il vous plaît ajouter du code.


Essayez d'utiliser visualiser.gone au lieu de vue.invisible .


J'ai ajouté du code,


View.Gone ne fonctionne pas pour moi


3 Réponses :


0
votes

Vous devez ajouter du code pour montrer qu'est-ce que vous utilisez En tout cas, vous pouvez faire ce qui suit pour votre cas

  1. Vous pouvez créer deux listes une pour rechercherResult et une pour AllData
  2. Si vous voulez des résultats de recherche, des données Mettez la liste de rechercheResult dans la matrice de Adaptateur et utilisation NOTIFYDataSetSetched Méthode d'adaptateur
  3. Si vous voulez tous les points de vue comme vous annuler la recherche Put AllData List dans la matrice de l'adaptateur et utilisez NOTIFYDataSetSetEquée Méthode d'adaptateur.

0 commentaires

0
votes

N'essayez pas de modifier les vues Composition de la navigationView, utilisez plutôt le menu qui le recule: xxx

dans votre méthode Oncreate () Conservez une référence à la liste initiale de Menuitems: xxx

puis dans la méthode onquery utilise cette liste: xxx


3 commentaires

Je l'ai essayé, mais ça ne marche pas, je n'ai peut-être pas compris votre code, pouvez-vous être plus spécial?


Mais peut-être que cela fonctionne, je n'ai besoin que de renverser ou de re-peindre la vue de navigation, avec le nouveau menu, mais je ne sais pas maintenant comment faire ça


@Luisquijada Comme je l'ai dit, si vous souhaitez pouvoir revenir à la recherche, vous devez conserver une référence à la liste complète des éléments de menu. J'ai édité ma réponse.



0
votes

semble un peu tard pour répondre. Il y a de la solution de contournement / hack pour cela. Pas besoin d'ajouter une liste. Il suffit d'ajouter cette petite ligne au-dessus de votre code. Ça fonctionne sûrement.

override fun onNavigationItemSelected(item: MenuItem): Boolean {
  
        when (item.itemId) {
            R.id.candidates -> {
                binding.navSideView.post {
                    navSideView.menu.findItem(R.id.candidateManagement).isVisible = !navSideView.menu.findItem(R.id.candidateManagement).isVisible
                }
            }
        
    }
    return true
}


0 commentaires