Ich möchte einen Spinner verwenden, der zunächst (wenn der Benutzer noch keine Auswahl getroffen hat) den Text "Select One" anzeigt. Wenn der Benutzer auf den Spinner klickt, wird die Liste der Elemente angezeigt und der Benutzer wählt eine der Optionen aus. Nachdem der Benutzer eine Auswahl getroffen hat, wird das ausgewählte Element im Spinner anstelle von "Select One" angezeigt.
Ich habe den folgenden Code, um einen Spinner zu erstellen:
String[] items = new String[] {"One", "Two", "Three"};
Spinner spinner = (Spinner) findViewById(R.id.mySpinner);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, items);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
Mit diesem Code wird zunächst das Element "Eins" angezeigt. Ich könnte einfach ein neues Element "Select One" zu den Elementen hinzufügen, aber dann würde "Select One" auch in der Dropdown-Liste als erstes Element angezeigt werden, was ich nicht möchte.
Wie kann ich dieses Problem beheben?
7 Stimmen
Die perfekte Lösung liegt in dieser Frage: stackoverflow.com/questions/9863378/ Überschreiben Sie einfach die Methode getDropDownView().
0 Stimmen
Haben Sie versucht, das erste Element Ihres Adapters auf "Select One" einzustellen?
0 Stimmen
[Hier eine andere tolle, schöne Lösung!][1] [1]: stackoverflow.com/questions/9863378/
0 Stimmen
Wiederverwendbare Spinner : github.com/henrychuangtw/ReuseSpinner
1 Stimmen
Android--code.blogspot.in/2015/08/Android-spinner-hint.html ein weiteres gutes Tutorial
0 Stimmen
Theres eine weit bessere Lösung - Verwenden Sie AutocompleteTextView, und setzen Sie clickable und focusable auf false. Fügen Sie die Elemente als Vorschläge Liste. Wickeln Sie die AutocompleteTextView in einem TextInputLayout und Sie können einen Hinweis festlegen. So wird der Hinweis zunächst angezeigt, und wenn Sie darauf klicken, wird die Liste der Vorschläge (Ihre Elemente) angezeigt. Die klickbare und fokussierbare auf false wird die Tastatur aus popping-out und jede manuelle Eingabe zu verhindern, im Grunde macht es eine perfekte Dropdown-Menü.