Android: ListView ze złożonym modelem danych
Chciałbym zmapować tablicę „złożonych” danych na ListView. W bardzo uproszczonej formie mój model danych wyglądałby mniej więcej tak:
class ListPlacesValues {
String idObject;
String name;
String city;
String country;
ArrayList<String> classification;
double distance_quantity;
DistanceUnit distance_unit;
[...more stuff ...]
}
Wiem, że mogę konwertować złożone dane na listę HashList, a następnie po prostu użyć SimpleAdapter:
SimpleAdapter mAdapter = new SimpleAdapter(
this,
hashList,
R.layout.places_listitem,
new String[] { "name", "city", "country"},
new int[] { R.id.name, R.id.city, R.id.country}
);
Jednak wolałbym użyć mojego modelu danych bezpośrednio, ale nie mam pojęcia, gdzie i jak zacząć, więc w końcu mogę zrobić coś takiego:
ArrayList<ListPlacesValues> values = getData();
MyAdapter mAdapter = new MyAdapter(
this,
values,
R.layout.places_listitem,
ListPlacesValues { values.name, values.city, values.country},
new int[] { R.id.name, R.id.city, R.id.country}
);
Rozwiązanie: Znalazłem tę próbkę interfejsu API systemu Android (Lista14), co było naprawdę pomocne.