Selbst definierte Items in ListView mit eigenen Klassen anzeigen lassen

  • Antworten:2
Liz
  • Forum-Beiträge: 2

22.08.2012, 13:56:11 via Website

Hallo,
zur Testzwecken wollte ich eine ListView mit eigens entwickelten Items befüllen, die Items sind in einer XML Datei abgespeichert.

Die Daten werden via PHP mit Json encodiert und in JSONParser ausgelesen .
Die ausgelesenen Daten wird dann in die von Android bereitgestellten SQLLite Datenbank gespeichert.
Die von der SQLlite ausgelesenen Daten werden in einer Klassen , die als einer Art Schablone dient befüllt und in einem Array abgespeichert.

//getUserDetails() gibt mir von der SQLlite ausgelesenen Daten in einer Arraylist mit der Klasse KUNDEN (herkömlich mit getter setter geschrieben //)zurück
ArrayList<Kunden> Kundenliste= dbmodell.getUserDetails();

//es könnte sein, dass es etwas umständlich ist, in diesem Schritt ein Hashmap zu benutzen
for (Kunden K : Kundenliste){
HashMap<String, Object> Maps = new HashMap<String, Object>();
Maps.put("name", K.get_NAME());
Maps.put("anschrift", K.get_STRASSE());
Maps.put("tel", K.get_TEl());
Maps.put("logo", R.drawable.btn_impressium);

//mylist ist global deklariert> ArrayList<HashMap<String, Object>> myList;
myList.add(Maps);

SimpleAdapter aa = new SimpleAdapter(this, myList, R.layout.row,
new String[] {"name","anschrift","tel","logo"},
new int[] {R.id.txt_name, R.id.txt_town, R.id.txt_phone, R.id.img_user});
meineListView.setAdapter(aa);

Jetzt zu meiner Frage, gibt es eine Möglichkeit auf die Hashmaps zu verzichten und direkt die Items mit den Kunden klasse zu befüllen?
Und ist der Vorgang überhaupt Optimal?

Ich hoffe mir kann da jemand helfen:(

Antworten
Gelöschter Account
  • Forum-Beiträge: 694

22.08.2012, 18:09:51 via Website

SQLite --> Klassen instanzieren --> ArrayList --> ListView?

Da werden die Daten hübsch n-mal zwischengespeichert. Bitte, bitte nicht so.

Schau Dir bitte die CursorAdapter (z.B. SimpleCursorAdapter) im Zusammenhang mit ListViews an. Die sind dafür optimiert.

Wenn das reine native Daten sind dann reicht der SimpleCursorAdapter, benötigst Du ein wenig Eingriff (Formatierungen etc.) dann schalte einen ViewBinder dazwischen, wenn es komplexer wird baue einen eigenen Adapter.

Liz

Antworten
Liz
  • Forum-Beiträge: 2

22.08.2012, 19:18:03 via Website

Vielen lieben dank! Das klingt plausible!

Anbei hätte ich noch eine Frage, bei dem Galaxy Tab 10.1 kann ich nur meine Drawable Elemente auf mdpi einstellen, kann ich irgendwie Android dazu bringen es für xhdpi zustellen?

Antworten