Android: создать счетчик программно из массива
Я все новичок в Android, и я пытаюсь создать счетчик программно и кормить его данными из массива, но Eclipse дает мне предупреждение, что я не могу справиться.
вот что я получил:
этот ArrayList содержит элементы, которые должны быть в spinner (получает заполнено из файла позже):
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
5 ответов:
ArrayAdapter<String>
должны работать.т. е.:
Spinner spinner = new Spinner(this); ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String> (this, android.R.layout.simple_spinner_item, spinnerArray); //selected item will look like a spinner set from XML spinnerArrayAdapter.setDropDownViewResource(android.R.layout .simple_spinner_dropdown_item); spinner.setAdapter(spinnerArrayAdapter);
С массив
// Array of choices String colors[] = {"Red","Blue","White","Yellow","Black", "Green","Purple","Orange","Grey"}; // Selection of the spinner Spinner spinner = (Spinner) findViewById(R.id.myspinner); // Application of the Array to the Spinner ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, colors); spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // The drop down view spinner.setAdapter(spinnerArrayAdapter);
это сработало для меня со строковым массивом с именем"
shoes
" загрузить из ресурсов проектов:Spinner spinnerCountShoes = (Spinner)findViewById(R.id.spinner_countshoes); ArrayAdapter<String> spinnerCountShoesArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, getResources().getStringArray(R.array.shoes)); spinnerCountShoes.setAdapter(spinnerCountShoesArrayAdapter);
Это мой файл ресурсов (
res/values/arrays.xml
) С массивом строк:<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="shoes"> <item>0</item> <item>5</item> <item>10</item> <item>100</item> <item>1000</item> <item>10000</item> </string-array> </resources>
С помощью этого метода легче сделать его многоязычным (в случае необходимости).
это действительно сработало для меня
Spinner spinner = new Spinner(this); ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>( this, android.R.layout.simple_spinner_item, spinnerArray); spinnerArrayAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item ); spinner = (Spinner) findViewById( R.id.spinner ); spinner.setAdapter(spinnerArrayAdapter);
эта работа для меня:-
String[] array = {"A", "B", "C"}; String abc = ""; Spinner spinner = new Spinner(getContext()); ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_spinner_item, array); //selected item will look like a spinner set from XML spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(spinnerArrayAdapter);
Я использую фрагмент.