Ich verwende diesen Beispielcode, um den Spinner aufzufüllen. Die Daten werden aus der Datenbank gelesen. Die Auswahl wird korrekt angezeigt - in diesem Fall zeigt sie "Grün" und "Rot".
Spinner spinnerColor = (Spinner) findViewById(R.id.spinnertProfile);
mProfileDbHelper = new ProfileDbAdapter(this);
mProfileDbHelper.open();
Cursor profilesCursor = mProfileDbHelper.fetchAllProfiles();
startManagingCursor(profilesCursor);
// Create an array to specify the fields we want to display in the list
String[] from = new String[] { ProfileDbAdapter.COL_PROFILE_TITLE };
// and an array of the fields we want to bind those fields to
int[] to = new int[] { R.id.textviewColors };
// Now create a simple cursor adapter and set it to display
SimpleCursorAdapter profilesAdapter = new SimpleCursorAdapter(this,
R.layout.profile_color, profilesCursor, from,
to);
spinnerColor.setAdapter(profilesAdapter);
}
Als ich jedoch zu einem anderen Layout wechselte Android.R.layout.simple_spinner_dropdown_item . Der Spinnertext ist verschwunden.
// Now create a simple cursor adapter and set it to display
SimpleCursorAdapter profilesAdapter = new SimpleCursorAdapter(this,
R.layout.profile_color, profilesCursor, from,
to);
profilesAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerColor.setAdapter(profilesAdapter);
Siehe Schnappschüsse von ohne und mit einfach_spinner_dropdown_item unten:
Vermisse ich vielleicht irgendetwas?
0 Stimmen
Est
textviewColors
verwendet insimple_spinner_dropdown_item
? Ich würde doppelt auf Tippfehler achten.0 Stimmen
Qberticus, ich bin mir nicht sicher, ob ich verstehe, was Sie sagen wollen. Ich bin ein Android-Neuling :-) Die textviewColors ist die ID der TextView in der layout/profile_color.xml, auf die sich profilesAdapter bezieht, wenn er als SimpleCursorAdapter instanziiert.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:text="" android:id="@+id/textviewColors" android:layout_width="wrap_content" android:layout_height="wrap_content"> </TextView> </LinearLayout>