Я новичок в Android, и я пытаюсь создать спиннер программно и снабжать его данными из массива, но Eclipse выдает мне предупреждение, с которым я не могу справиться.
Вот что я получил:
Этот ArrayList содержит элементы, которые должны быть в счетчике (заполняется из файла позже):
ArrayList<String> spinnerArray = new ArrayList<String>();
Это код, который я нашел на сайте, который должен создать блесну:
Spinner spinner = new Spinner(this);
ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_dropdown_item,
spinnerArray);
spinner.setAdapter(spinnerArrayAdapter);
Теперь вторая строка (ArrayAdapter ...) дает мне предупреждение в Eclipse, говоря "ArrayAdapter is a raw type... References to generic type ArrayAdapter<T> should be parameterized"
, что я понятия не имею, как это исправить (или что это означает в первую очередь :)).
Это всего лишь предупреждение, и приложение, кажется, работает нормально, но я все еще хотел бы понять, что не так, и исправить это. Любая подсказка приветствуется.
Привет, Select0r
Type safety: The expression of type ArrayAdapter needs unchecked conversion to conform to ArrayAdapter<String>
<String>
, ваш код работает сейчас, большое спасибо!ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(activity, R.layout.simple_spinner_item); spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
иначе на некоторых устройствах может отображаться переключатель.Точно так же с Array
источник
Это работает для меня с строковым массивом с именем
shoes
загружено из ресурсов проектов:Это мой файл ресурсов (
res/values/arrays.xml
) со строковым массивом с именемshoes
:С помощью этого метода легче сделать его многоязычным (при необходимости).
источник
Это на самом деле работает для меня
источник
Spinner spinner = new Spinner(this);
когда вы делаете этоspinner = (Spinner) findViewById( R.id.spinner );
эта работа для меня: -
Я использую Фрагмент.
источник
На котлинском языке вы можете сделать это следующим образом:
источник