Mon Android
application doit remplir le ListView
à l'aide des données d'un fichier ArrayList
.
J'ai du mal à faire ça. Quelqu'un peut-il m'aider avec le code?
Vous devez le faire via un ArrayAdapter
qui adaptera votre ArrayList (ou toute autre collection) à vos éléments dans votre mise en page (ListView, Spinner, etc.).
Voici ce que dit le guide du développeur Android :
A
ListAdapter
qui gère unListView
sauvegardé par un tableau d'objets arbitraires. Par défaut, cette classe s'attend à ce que l'ID de ressource fourni référence un seulTextView
. Si vous souhaitez utiliser une présentation plus complexe, utilisez les constructeurs qui prennent également un identifiant de champ. Cet identifiant de champ doit référencer aTextView
dans la plus grande ressource de mise en page.Quelle que soit la manière dont le
TextView
est référencé, il sera rempli avec letoString()
de chaque objet du tableau. Vous pouvez ajouter des listes ou des tableaux d'objets personnalisés. Remplacez latoString()
méthode de vos objets pour déterminer le texte qui sera affiché pour l'élément dans la liste.Pour utiliser autre chose que
TextViews
pour l'affichage du tableau, par exempleImageViews
, ou pour que certaines données en plus destoString()
résultats remplissent les vues, remplacezgetView(int, View, ViewGroup)
pour renvoyer le type de vue souhaité.
Donc, votre code devrait ressembler à:
public class YourActivity extends Activity {
private ListView lv;
public void onCreate(Bundle saveInstanceState) {
setContentView(R.layout.your_layout);
lv = (ListView) findViewById(R.id.your_list_view_id);
// Instanciating an array list (you don't need to do this,
// you already have yours).
List<String> your_array_list = new ArrayList<String>();
your_array_list.add("foo");
your_array_list.add("bar");
// This is the array adapter, it takes the context of the activity as a
// first parameter, the type of list view as a second parameter and your
// array as a third parameter.
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
this,
android.R.layout.simple_list_item_1,
your_array_list );
lv.setAdapter(arrayAdapter);
}
}
Didacticiel
Vérifiez aussi ArrayAdapter Interface:
la source
Essayez la réponse ci-dessous pour remplir la vue de liste à l'aide de ArrayList
la source
la source
Voici un exemple de la façon dont vous pourriez implémenter une vue de liste:
la source