Barre d'outils avec SearchView temporaire de filtrage RecyclerView

J'ai besoin pour mettre en œuvre la fonctionnalité de recherche à l'intérieur de mon application android qui utilise la barre d'outils, SlidingTabLayout et ViewPager qui contient des fragments. À l'intérieur de chaque fragment il y a un RecyclerView avec la liste des éléments.

RecyclerView données sont statiques définies dans une catégorie distincte (DataAccess.java) et ces listes sont mises à jour et RecyclerView obtient actualisée juste en appelant (sans les transmettre de nouvelles données)

mRecyclerView.getAdapter().notifyDataSetChanged();

Est-il un moyen simple de filtre provisoire RecyclerView sans changer les données et après que l'utilisateur appuie sur le bouton de retour à l'intérieur de la Barre d'outils pour supprimer le filtre, et de montrer un premier de la liste.

Avant d'appuyer sur l'icône de Recherche à l'intérieur de la barre d'outils menu:

Barre d'outils avec SearchView temporaire de filtrage RecyclerView

Ainsi, lorsque l'utilisateur tape "Josip..." le filtre est actif

Barre d'outils avec SearchView temporaire de filtrage RecyclerView

et après, il appuie sur le bouton X dans SearchView l'utilisateur obtient les mêmes données, comme avant, sans filtre.

@Override 
public boolean onQueryTextChange(String newText) {
    //filter data (temporary remove all items from DataAccess.list that don't .startsWith(newText)
}

@Override 
public boolean onQueryTextSubmit(String query)
    //Doesn't help if I revert deleted items here
}

OriginalL'auteur fpopic | 2015-01-05