как добавить элемент в Spinner Android [дубликат]
этот вопрос уже есть ответ здесь:
Как добавить элемент из str в spinner? Я пробовал с ArrayList, ArrayAdapter, но не работал...
String[] str={"item 1","item 2","item 3"};
Spinner s=(Spinner)findViewById(R.id.spinner);
3 ответов
вы можете использовать простой ArrayAdapter по умолчанию для достижения вашего требования динамически. Ниже приведен фрагмент кода, за которым вы можете следить и изменять свой метод onCreate для добавления значений в счетчик.
spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<String> adapter;
List<String> list;
list = new ArrayList<String>();
list.add("Item 1");
list.add("Item 2");
list.add("Item 3");
list.add("Item 4");
list.add("Item 5");
adapter = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_spinner_item, list);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
если вы хотите, чтобы значения spinner были добавлены статически, вы можете добавить массив в xml-файл и назначить атрибут entries
для блесны. ниже приведен фрагмент кода для этого.
ваш макет XML-файл
<Spinner android:id="@+id/spinner"
android:layout_width="fill_parent"
android:drawSelectorOnTop="true"
android:prompt="@string/spin"
android:entries="@array/items" />
в вашей матрицы.xml-файл
<string-array name="items">
<item>Item 1</item>
<item>Item 2</item>
<item>Item 3</item>
<item>Item 4</item>
<item>Item 5</item>
</string-array>
ссылка на Android имеет хороший пример и вместо использования:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.planets_array, android.R.layout.simple_spinner_item);
как указано в примере (это потому, что Spinner
заполняется из ранее существовавшего ресурса массива строк, определенного в xml-файле ) вы можете использовать ArrayAdapter
конструктор, который принимает список в качестве аргумента, как показано на рисунке:
вы могли бы сделать это вот так:
ArrayAdapter<String> mArrayAdapter = new ArrayAdapter<String>(getApplicationContext(),R.layout.your_layout,mYourList)
где mYourList может быть ArrayList<String>
где вы можете хранить данные, которые вы хотите заполнить ваш Spinner
С.
Android Spinner
s используйте SpinnerAdapter
класса.
http://developer.android.com/reference/android/widget/SpinnerAdapter.html