Bonjour. Je cherche a remplir une listview avec un arraylist d'objet mais je ne parviens pas à trouver comment choisir la façon données s'affichent.
Par exemple j'ai un objet Velo qui a un id et un et nom, et je voudrais que seuelement le nom s'affiche.
Voila comment s'affiche mes Vélos :
En plus de cela, je voudrais qui l'id soit récupérable quand on clique dessus. Je sais faire le clic sur la litview mais je ne sais pas comment récupérer les infos qu'il me faut.
Voial le code :
// Récupère les vélos
ArrayList<Velo> velos = veloDAO.getAll();
// Créé l'adapter et l'associe à la listview listVelos
ArrayAdapter<Velo> velo_adapter = new ArrayAdapter<Velo>(this, android.R.layout.simple_list_item_1, velos);
listVelos.setAdapter(velo_adapter);
//Affichage du numéro ??
//Clic sur un objet
listVelos.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Velo selected_velo = adapterView.getSelectedItem();
Log.d(TAG, "onItemClick: you clicked on " + selected_velo.getVelo_num());
if (selected_velo.getVelo_num() != 0) {
Log.d(TAG, "onItemClick: the ID id: " + selected_velo.getVelo_num());
Intent editVelo = new Intent(ShowVelos.this, EditVelo.class);
editVelo.putExtra("velo", selected_velo);
startActivity(editVelo);
} else {
toastMessage("No ID associated with that name");
}
}
});
EDIT :
J'ai réglé mon soucis.
Pour l'affichage j'ai fait réécrit le toString dans ma classe Velo, et pour le clic voila la solution :
listVelos.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Velo selected_velo = (Velo) adapterView.getAdapter().getItem(i);
if (selected_velo.getVelo_num() != 0) {
Intent editVelo = new Intent(ShowVelos.this, EditVelo.class);
editVelo.putExtra("velo_num", selected_velo.getVelo_num());
startActivity(editVelo);
} else {
toastMessage("No ID associated with that name");
}
}
});
- Edité par Anonyme 17 avril 2018 à 15:07:13
Populer une listview avec des objet
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.