Jak zdobyć tekst wybranego przedmiotu w przędzarce?
Po kliknięciu przycisku Zapisz muszę uzyskać tekst na elemencie wybranym w moim pokrętle. potrzebuję tekstu, a nie indeksu.
android
android-spinner
Harinder
źródło
źródło
android.database.sqlite.SQLiteCursor@410dfae8
prawdopodobnie dlatego, że użyłem adaptera kursora. Masz pomysł, co powinienem zrobić, aby uzyskać odpowiedni ciąg?źródło
Musisz użyć indeksu i adaptera, aby znaleźć tekst
Zobacz ten przykład Spinnera
źródło
spinner.setOnItemSelectedListener(this);
Użyj tego
main_spinner.xml
źródło
Spinner zwraca wartość całkowitą dla tablicy. Musisz pobrać wartość ciągu na podstawie indeksu.
źródło
źródło
Wersja jednoliniowa:
AKTUALIZACJA: Możesz usunąć przesyłanie, jeśli używasz zestawu SDK 26 (lub nowszego) do skompilowania projektu.
źródło
źródło
Po ustawieniu adaptera przędzarki ten kod pomoże
źródło
W przypadku błystek opartych na CursorAdapter:
spinner.getSelectedItemId()
pobierz nazwę elementu z bazy danych, na przykład:
źródło
Dla tych mają spinner oparty na HashMap :
Jeśli jesteś we fragmencie, adapterze lub klasie innej niż główne czynności, użyj tego:
To jest tylko wskazówka; powinieneś znaleźć identyfikator swojego widoku przed metodą onClick.
źródło
Można to również osiągnąć w nieco bezpieczniejszy sposób, stosując
String.valueOf()
podobny sposóbbez awarii aplikacji, gdy rozpęta się piekło. Powodem jego bezpieczeństwa jest możliwość radzenia sobie z
null
obiektami jako argumentem. Dokumentacja mówiTak więc niektóre ubezpieczenia tam na przykład w przypadku posiadania pustego
Spinner
, na który obecnie wybrany element należy przekonwertowaćString
.źródło
źródło