Comment pourrais-je filtrer la listview en utilisant baseadapter
Je suis en train de filtrer la liste, mais getfilter méthode ne fonctionne pas,
voici le code:
@Override
public void afterTextChanged(Editable s) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
mHistoryAdapter.getFilter().filter(s);
}
j'ai ajouté de la méthode dans baseadapter aussi
public Filter getFilter() {
return null;
}
mais sa ne fonctionne pas..quelqu'un pourrait m'aider out..@Thanks
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Ici vous allez. Un simple baseadapter (sans vue du recyclage) qui permettra d'afficher et de filtre, une liste de quelques personnalisé arbitraire de l'objet. Dans cet exemple, l'Objet.le nom est le domaine que nous allons utiliser pour filtrer.
1) Dans votre activité, (ou) lorsque vous créez votre ListViewactiver le filtrage du texte:
2) Comme vous l'avez déjà remarqué que, dans textwatcher d'un Edittext, déclencher le filtre sur le ListAdapter:
3) dans votre baseadapter,
implement Filterable
. Et de stocker des deux copies des données, un original et un filtrée. Être sûr d'accéder à des données filtrées à travers le BaseAdapter, pas les données non filtrées}
Je pense qu'il n'est pas nécessaire de getfilter() la méthode ici
et l'utilisation
notifydatachange
méthode à chaque fois que vous voulez le mettre à jour