2012-03-25 2 views
0

Ich habe ein Spinner derzeit mit einer Spalte (Name) aus einer Datenbank gefüllt. Ich möchte dies ändern, damit jede Spinner-Zeile den Namen, ein Leerzeichen und eine ID aus derselben Tabelle anzeigt. Dies ist der Code, den ich gerade verwende, ich bin mir nicht sicher, wie man mehrere Zeilen im Array "from" in die gleiche Textansicht im Array "to" abbildet.Füllen Sie jede Spinner-Zeile mit zwei Werten aus der Datenbank

Cursor c = db.fetchAllUsers(); 
    startManagingCursor(c); 

    // create an array to specify which fields we want to display 
    String[] from = new String[]{"name"}; 
    // create an array of the display item we want to bind our data to 
    int[] to = new int[]{android.R.id.text1}; 
    // create simple cursor adapter 
    SimpleCursorAdapter adapter = 
     new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, c, from, to); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    // get reference to our spinner 
    spinner.setAdapter(adapter); 

Vielen Dank!

Antwort

1

Verwenden Sie SimpleCursorAdapter.setViewBinder mit einer benutzerdefinierten ViewBinder, die das tut, was Sie wünschen. Um dies auszuarbeiten, können Sie einfach columnIndex in Ihrer Implementierung von setViewValue ignorieren und das angegebene Cursor verwenden, um das gegebene View zu füllen, wie Sie wünschen.

Siehe: http://developer.android.com/reference/android/widget/SimpleCursorAdapter.html#setViewBinder(android.widget.SimpleCursorAdapter.ViewBinder)