TP3 Android Adapter
TP3 Android Adapter
TP3 Android Adapter
Android Adapter
1. Qu'est-ce que ListView?
2. ListItem
3. Adapter (L'adaptateur)
4. ListView Selector
5. ListView basic utilisant ArrayAdapter
6. ArrayAdapter
7. L'exemple de ListView et ArrayAdapter
A. ListItem
Polytechnique Sousse-2020/2021 Android
Enseignante : Yamina Ghobni
Un ListView est fait à partir d'un groupe de ListItem. ListItem est une ligne (row) individuelle dans
listview où les données seront affichées. Toutes les données dans listview sont affichées uniquement
via listItem. Considérez Listview comme groupe défilable de ListItems.
Polytechnique Sousse-2020/2021 Android
Enseignante : Yamina Ghobni
Android construit certaine forme ListItem différente, appelées le Layout pré- défini, qui sera
mentionné dans les exemples de ce document.
B. Adapter (L'adaptateur)
Android Adapter (L'adaptateur) est un pont entre des View (par exemple comme ListView) et les
données sous-jacentes pour ce View. Un Adapter gère des données et adapte les données dans les
lignes individuelles (ListItem) du view.
Vous pouvez lier des Adapter avec Android ListView via la méthode setAdapter. Maintenant, nous
allons voir comment Adapter fonctionne à l'aide de l'image ci-dessous.
Polytechnique Sousse-2020/2021 Android
Enseignante : Yamina Ghobni
C. AdapterView
Il existe plusieurs View ont eu besoin d'Android Adapter en vue de gérer des données affichées, ces
View sont les sous-classes de la classe AdapterView, vous pouvez voir l'illustration suivante:
Pour rendre ListView plus beau, vous devez personnaliser les effets, tels que modifier la couleur
d'arrière-plan de ListItem lorsque le curseur se déplace dessus ou modifier la couleur d'arrière-plan
lorsqu'il est sélectionné.
Au cas où vous voulez avoir un ListView avec ListItem plus compliqué, vous pouvez créer
manuellement un Adapter personnalisé.
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.listview.MainActivity">
<ListView
Polytechnique Sousse-2020/2021 Android
Enseignante : Yamina Ghobni
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
LayoutResourcesFile : Mylist.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Medium Text"
android:textStyle="bold"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:padding="2dp"
android:textColor="#4d4d4d"
/>
Fichier resources : String.xml
<resources>
<string name="app_name">ListView</string>
<string-array name="array_technology">
<item>Android</item>
<item>Java</item>
<item>Php</item>
<item>Hadoop</item>
<item>Sap</item>
<item>Python</item>
<item>Ajax</item>
<item>C++</item>
<item>Ruby</item>
<item>Rails</item>
<item>.Net</item>
<item>Perl</item>
</string-array>
</resources>
MainActivity.java
package com.example.listview;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
Polytechnique Sousse-2020/2021 Android
Enseignante : Yamina Ghobni
import androidx.appcompat.app.AppCompatActivity;
listView=(ListView)findViewById(R.id.listView);
textView=(TextView)findViewById(R.id.textView);
listItem = getResources().getStringArray(R.array.array_technology);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int
position, long l) {
// TODO Auto-generated method stub
String value=adapter.getItem(position);
Toast.makeText(getApplicationContext(),value,Toast.LENGTH_SHORT).show();
}
});
}
}