Table des matières
Création d’un adaptateur RecyclerView utilisable avec tout modèle de données et toute vue de ligne d’élément (avec liaison de données)
Pour les développeurs Android (et pour les développeurs mobiles en général), le composant d’interface utilisateur le plus important est Affichage liste. Nous, les développeurs mobiles, ne pouvons tout simplement pas vivre sans Listes (et ils sont géniaux). Aussi impressionnants soient-ils, ils peuvent parfois devenir si répétitifs et ennuyeux pour écrire du code pour eux. En tant que programmeurs, nous aimerions suivre SEC autant que possible, et réutiliser le code autant que possible. J’ai donc créé une bibliothèque simple qui peut gérer les responsabilités de base de la liste pour Android. D’accord, voyons le code.
Ici, les choses importantes sont ces deux paramètres – int resourceId &
int variableId du constructeur. BaseItemModel est une classe de modèle de données qui a un champ id, elle est utilisée uniquement pour être utilisée avec DiffUtil.ItemCallback. UNE DiffUtil.ItemCallback (nommé BaseDiffUtilItemCallback) est également fourni. Vous pouvez lire sur et. Ils sont utilisés pour garantir les meilleures performances lorsque les éléments de liste doivent être mis à jour. Le code pour BaseDiffUtilItemCallback est donné ci-dessous.
Voici le code de la BaseRecyclerViewHolder.
La méthode de liaison prend le paramètre de type générique T qui est le type de modèle transmis à l’adaptateur. viewDataBinding.setVariable (variableId, type) Cette ligne transmet l’objet au code xml (l’ID de variable sera transmis dans BR.
À des fins de démonstration, itemModelList est généré. BaseRecyclerViewAdapter est initialisé en passant R.layout.row_main_list (disposition des lignes), BR.rowMainListObj (variable de liaison de données), BaseDiffUtilItemCallback () et ceci (ListItemOnClickListener classe d’implémentation). Enfin avec baseListAdapterKotlin.submitList (itemModelList) la vue du recycleur est remplie de données.
Vous pouvez ajouter cette bibliothèque à votre application en ajoutant ces codes:
project level build.gradleallprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}app level build.gradleimplementation 'com.github.tanveerprottoy:base-recyclerview-adapter:1.2'
C’est tout pour aujourd’hui. J’espère que cela vous sera utile. Merci pour la lecture. Veuillez donner quelques applaudissements si vous avez aimé le poste.