Schonmal in die Tutorials geschaut ?
Du erzeugst ein Layout für EINE Zeile und weißt ein Mapping zu, da gibt es verschiedene Möglichkeiten wie z.b das ganze mittels ArrayAdapter oder einem SimpleCursorAdapter zu machen.
Das Layout für eine ListActivty wäre etwa so:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/background_pattern">
<ListView
android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<TextView
android:id="@+id/android:empty"
android:text="@string/no_entrys"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
Wobei der die untere TextView nur benutzt wird wenn die Liste keine Einträge enthält, Android sucht dann im Layout einen View mit entsprechende ID -> android_empty.
Das Mapping ist anfangs mittels eines ArrayAdapters sicher das einfachste, willst du komplexere Views in der List mit Daten füllen ist sicher der SimpleCursorAdapter die treffende wahl. Du erzeugst eine Query auf deine Datenbank, erhälst einen Cursor mit diesem Cusor erzeugst du ein Mapping der Cursor Spalte (from) auf eine View (to) innerhalb deines Layouts was du in der List verwenden willst z.b so:
1private void setupMapping(final Cursor _cursor)
2 {
3 if (_cursor == null)
4 {
5 throw new NullPointerException("Cursor");
6 }
7 // hack
8 if (oldCursor != null)
9 {
10 oldCursor.close();
11 }
12
13 startManagingCursor(_cursor);
14 oldCursor = _cursor;
15
16 final String[] from = new String[]
17 { "name", "minwind", "maxwind", "windmeasure", "starting", "till", "activ" };
18 final int[] to = new int[]
19 { R.id.custom_spotoverview_name, R.id.custom_spotoverview_wind_start, R.id.custom_spotoverview_wind_end,
20 R.id.custom_spotoverview_wind_details, R.id.custom_spotoverview_wind_from,
21 R.id.custom_spotoverview_wind_to, R.id.custom_spotoverview_activ };
22 shows = new SimpleCursorAdapter(this, R.layout.custom_listview_spotoverview, _cursor, from, to);
23 shows.setViewBinder(new SpotOverviewViewBinder());
24 setListAdapter(shows);
25 }
PS: Den Query hab ich hier extra weggelassen da es nicht zum eigentlichen Thema gehört!
hth,
Mac
Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.