Ich habe einige Probleme, Spinner aus SQLite-Datenbank mit einfachen Cursor-Adapter zu füllen. Ich muss den einfachen Cursor-Adapter verwenden, nicht den Array-Adapter. Meine MainActivity, Funktionen und XML-Dateien sind wie folgt:Füllen Spinner von einfachen Cursor-Adapter
public class MainActivity extends BaseActivity {
private Spinner workerId = (Spinner) findViewById(R.id.spinner);
c = getCursor();
String[] columns = new String[]{Database.mylist};
int[] to = new int[] { R.id.spinner };
myAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, c, columns,to, 0);
workerId.setAdapter(myAdapter);
..............
..............
}
Funktion ist unten:
public Cursor getCursor() {
Cursor c = database.rawQuery("select * from " + Database.mylist + " where isCancel = 0", null);
return c;
}
XML-Datei ist unten;
MainActivity.xml
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_marginTop="10dp"
android:layout_marginLeft="5dp"
android:layout_height="wrap_content" />
Und wenn ich app ausführen wird der folgende Bildschirm angezeigt. Es gibt Daten, aber es scheint leer zu sein. Ich habe _id, Namenspalten.
Vielen Dank für Ihre Hilfe.
Zeigt 'Database.myList' auf den Namen einer Tabelle oder den Namen einer Spalte? Weil du es als beides verwendest. Haben Sie überprüft, ob Ihre 'getCursor()' Methode einen 'Cursor' mit irgendwelchen Zeilen zurückgibt? – PPartisan