Comment remplacer complètement listView / GridView par RecyclerView?

j'ai remarqué que la nouvelle classe RecyclerView, même si elle rend les choses un peu plus propres, manque beaucoup de fonctionnalités que je connais:

  1. diviseurs, mais cela peut être résolu en regardant ce post ou celui-ci
  2. "footterdividersenabled "
  3. "headerDividersEnabled "
  4. "listSelector", mais peut-être que je devrais simplement le régler par vue ?
  5. "fastScrollEnabled "
  6. "smoothScrollbar "
  7. "textFilterEnabled "
  8. j'ai aussi essayé de savoir s'il y avait une nouvelle façon d'utiliser la nouvelle classe avec filtrage (comme fait avec ListView en implémentant Filterable). Je ne pouvais pas savoir s'il y avait une telle chose
  9. "outils:listitem" , pour afficher les éléments dans l'INTERFACE utilisateur designer.

C'est ce que j'utilise, mais peut-être qu'il y en a d'autres que j'ai manqués.

Est-il un tutoriel ou quelques lignes directrices de façon à remplacer chacune de ces choses?

38
demandé sur Community 2014-10-20 02:33:26

3 réponses

ok, je pense que j'ai trouvé des solutions à ce que j'ai écrit à propos de:

  1. intercalaires - les liens que j'ai donnés peuvent probablement aider ( ici , ici et ici ).
  2. "footerDividersEnabled" - probablement comme #1, mais même si vous ne l'avez pas, vous pouvez toujours ajouter un diviseur à la disposition de la le pied de page.
  3. "headerDividersEnabled" - la même chose que #2.
  4. "listSelector" - doit être fait pour les vues d'item .
  5. "fastScrollEnabled" - aucune solution n'est disponible pour cela, sauf pour cette bibliothèque j'ai trouvé, qui était une réponse pour mon post "1519280920 ici .
  6. "smoothScrollbar" - devrait être une requête de fonctionnalité pour #5. Je pense que c'est déjà lisse, mais je ne suis pas sûr.
  7. "textFilterEnabled" - malheureusement, vous devez gérer vous-même. créez un pool de threads de taille 1, ou gérez votre propre thread (ou utilisez AsyncTask, dans le cas où le travail est relativement court), et laissez-le faire le filtrage pour vous.
  8. filtrable-même que #7
  9. "tools: listitem" - non disponible, mais je pense que vous pouvez étendre de RecyclerView et l'ajouter. Vous devez mettre un peu de travail, comme RecyclerView ne sait pas comment mettre en page les vues.
9
répondu android developer 2017-05-23 12:02:23

pas de tutoriels que je connaisse, mais les sources de ListView sont publiques! Il n'y a pas de meilleur moyen d'apprendre que ça... Par exemple: j'ai récemment implémenté le filtrage comme ListView le fait et cela fonctionne comme un charme. De Plus, si vous le faites bien, vous ne devez le faire qu'une fois et peut l'appliquer partout!

0
répondu Takhion 2014-12-27 21:39:23

je vous recommande d'aller voir quelques-unes des bibliothèques pour le RecyclerView. Vous pouvez trouver beaucoup de bibliothèques à https://android-arsenal.com / .

vous pouvez également implémenter vos propres fonctionnalités dans le RecyclerView et L'Adaptateur pour le RecyclerView. Il suffit d'étendre la RecyclerView et de construire sur cela.

je vous recommande de lire le code source du RecyclerView au https://android.googlesource.com/platform/frameworks/support/+/refs/heads/master/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java .

0
répondu nourikhalass 2015-01-28 14:43:54