Jestem zupełnie nowy na Androida i próbuję programowo stworzyć spinner i zasilać go danymi z tablicy, ale Eclipse ostrzega mnie, że nie dam rady.
Oto co mam:
Ta ArrayList przechowuje elementy, które powinny znajdować się w pokrętle (później wypełnia się z pliku):
ArrayList<String> spinnerArray = new ArrayList<String>();
Oto kod, który znalazłem na stronie, która powinna utworzyć błystkę:
Spinner spinner = new Spinner(this);
ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_dropdown_item,
spinnerArray);
spinner.setAdapter(spinnerArrayAdapter);
Teraz druga linia (ArrayAdapter ...) ostrzega mnie w Eclipse, mówiąc "ArrayAdapter is a raw type... References to generic type ArrayAdapter<T> should be parameterized"
: „Nie mam pojęcia, jak to naprawić (lub co to znaczy w pierwszej kolejności :)).
To tylko ostrzeżenie, a aplikacja wydaje się działać poprawnie, ale nadal chcę zrozumieć, co jest nie tak i naprawić. Każda podpowiedź jest mile widziana.
Pozdrowienia, Select0r
Type safety: The expression of type ArrayAdapter needs unchecked conversion to conform to ArrayAdapter<String>
<String>
, Twój kod działa teraz, wielkie dzięki!ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(activity, R.layout.simple_spinner_item); spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
lub przycisk radiowy może pojawić się w tarczy na niektórych urządzeniach.W ten sam sposób z Array
źródło
Działa to dla mnie z tablicą łańcuchów o nazwie
shoes
ładowanej z zasobów projektów:To jest mój plik zasobów (
res/values/arrays.xml
) z tablicą łańcuchów o nazwieshoes
:Dzięki tej metodzie łatwiej jest uczynić go wielojęzycznym (w razie potrzeby).
źródło
To faktycznie działało dla mnie
źródło
Spinner spinner = new Spinner(this);
kiedy to robiszspinner = (Spinner) findViewById( R.id.spinner );
ta praca dla mnie: -
Używam fragmentu.
źródło
W języku Kotlin możesz to zrobić w następujący sposób:
źródło