Les Lists
1. ListView : Création d'une Liste Simple
Nous allons créer une application qui affiche une liste de noms.
1.1. Créer le Layout XML
Ajoutez un ListView dans votre fichier activity_main.xml.
<LinearLayout
xmlns:android="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<ListView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
1.2. Écrire le Code Java pour Peupler la Liste
Nous allons utiliser un ArrayAdapter pour lier les données au ListView.
import [Link];
import [Link];
import [Link];
import [Link];
public class MainActivity extends AppCompatActivity {
Les Lists
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);
// Définir les données
String[] names = {"Chandler", "Joey", "Ross", "Monica", "Phoebe", "Rachel"};
// Trouver le ListView dans le layout
ListView listView = findViewById([Link]);
// Connecter les données avec un ArrayAdapter
ArrayAdapter<String> adapter = new ArrayAdapter<>(
this, [Link].simple_list_item_1, names);
// Lier l'adapter au ListView
[Link](adapter);
2. RecyclerView : Création d'une Liste avec Images et Texte
Le RecyclerView est plus moderne et efficace. Nous afficherons une liste de noms avec
des images.
2.1. Créer le Layout XML
Ajoutez un RecyclerView dans votre fichier activity_main.xml.
Les Lists
<[Link]
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Créez un fichier list_item.xml pour chaque élément de la liste :
<LinearLayout
xmlns:android="[Link]
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="8dp">
<ImageView
android:id="@+id/itemImage"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/ic_launcher_foreground"
android:layout_marginEnd="8dp" />
<TextView
android:id="@+id/itemText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nom"
android:textSize="18sp" />
Les Lists
</LinearLayout>
2.2. Créer l'Adapter et le ViewHolder
Ajoutez une classe MyAdapter pour lier les données au RecyclerView.
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class MyAdapter extends [Link]<[Link]> {
private final String[] names;
private final int[] images;
private final Context context;
public MyAdapter(Context context, String[] names, int[] images) {
[Link] = context;
[Link] = names;
[Link] = images;
@NonNull
@Override
Les Lists
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = [Link](context).inflate([Link].list_item, parent, false);
return new ViewHolder(view);
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
[Link](names[position]);
[Link](images[position]);
@Override
public int getItemCount() {
return [Link];
public static class ViewHolder extends [Link] {
TextView itemText;
ImageView itemImage;
public ViewHolder(@NonNull View itemView) {
super(itemView);
itemText = [Link]([Link]);
itemImage = [Link]([Link]);
}
Les Lists
2.3. Configurer le RecyclerView
Ajoutez les données dans le fichier [Link].
import [Link];
import [Link];
import [Link];
import [Link];
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);
// Définir les données
String[] names = {"Alice", "Bob", "Charlie", "Diana", "Edward"};
int[] images = {[Link].image1, [Link].image2, [Link].image3,
[Link].image4, [Link].image5};
// Trouver le RecyclerView dans le layout
RecyclerView recyclerView = findViewById([Link]);
// Configurer le RecyclerView
[Link](new LinearLayoutManager(this));
[Link](new MyAdapter(this, names, images));
Les Lists
3. GridView : Affichage des Éléments sous Forme de Grille
Pour afficher les éléments sous forme de grille, utilisez un GridView.
3.1. Créer le Layout XML
Ajoutez un GridView dans votre fichier activity_main.xml.
<GridView
android:id="@+id/gridView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="2"
android:verticalSpacing="8dp"
android:horizontalSpacing="8dp" />
3.2. Peupler la Grille
Nous utiliserons un BaseAdapter pour une apparence plus moderne.
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
Les Lists
public class MyGridAdapter extends BaseAdapter {
private final String[] names;
private final int[] images;
private final Context context;
public MyGridAdapter(Context context, String[] names, int[] images) {
[Link] = context;
[Link] = names;
[Link] = images;
@Override
public int getCount() {
return [Link];
@Override
public Object getItem(int position) {
return names[position];
@Override
public long getItemId(int position) {
return position;
}
Les Lists
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = [Link](context).inflate([Link].list_item, parent, false);
TextView name = [Link]([Link]);
ImageView image = [Link]([Link]);
[Link](names[position]);
[Link](images[position]);
return convertView;
Ajoutez les données et configurez le GridView.
GridView gridView = findViewById([Link]);
[Link](new MyGridAdapter(this, names, images));