Android Ajouter un RecyclerView


Exemple

Ajoutez la dépendance décrite dans la section Remarque, puis ajoutez RecyclerView à votre mise en page:

<android.support.v7.widget.RecyclerView
    android:id="@+id/my_recycler_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

Une fois que vous avez ajouté un widget RecyclerView à votre mise en page, obtenez un handle pour l'objet, connectez-le à un gestionnaire de disposition et connectez un adaptateur pour que les données soient affichées:

mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);

// set a layout manager (LinearLayoutManager in this example)

mLayoutManager = new LinearLayoutManager(getApplicationContext());
mRecyclerView.setLayoutManager(mLayoutManager);

// specify an adapter
mAdapter = new MyAdapter(myDataset);
mRecyclerView.setAdapter(mAdapter);

Ou simplement configurer le gestionnaire de disposition à partir de XML en ajoutant ces lignes:

xmlns:app="http://schemas.android.com/apk/res-auto"
app:layoutManager="android.support.v7.widget.LinearLayoutManager"

Si vous savez que les modifications apportées au contenu de RecyclerView ne modifieront pas la taille de mise en page de RecyclerView , utilisez le code suivant pour améliorer les performances du composant. Si RecyclerView a une taille fixe, il sait que RecyclerView lui-même ne sera pas redimensionné en raison de ses enfants. Il ne fait que gérer le changement lui-même. Si vous invalidez le parent, le coordinateur, la mise en page, etc. (vous pouvez utiliser cette méthode avant même de définir LayoutManager et Adapter ):

mRecyclerView.setHasFixedSize(true);

RecyclerView fournit ces gestionnaires de disposition intégrés à utiliser. Vous pouvez donc créer une liste, une grille et une grille échelonnée en utilisant RecyclerView :

  1. LinearLayoutManager affiche les éléments dans une liste de défilement verticale ou horizontale.
  2. GridLayoutManager affiche les éléments dans une grille.
  3. StaggeredGridLayoutManager affiche les éléments dans une grille échelonnée.