Как добавить выбранное по умолчанию значение в раскрывающемся списке Android
У меня есть выпадающий список, который берет его значения из базы данных, поэтому я хочу добавить значение по умолчанию к существующим значениям выпадающего списка. В этом случае значением по умолчанию будет выбранное значение.
StringBuilder strbuilder = new StringBuilder();
ArrayList<String> arr_list = new ArrayList<String>();
List<String> m = new ArrayList<String>();
//This get the data values from database
m = db.getData();
int ms = m.size();
String str = strbuilder.toString();
String[] str1 = str.split(",");
try {
if (ms > 1) {
//This is my default value
m.add("Default Value");
for (int i = 0; i < ms; i++) {
m.get(0);
}
} else {
m.get(0);
}
} catch (Exception e) {
e.printStackTrace();
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_dropdown_item, m);
dropdown.setAdapter(adapter);
В приведенных выше кодах можно добавить значения из базы данных в раскрывающийся список и добавить Default Value
, но это не является выбранным значением.
Например, если значения из базы данных "Apple, Mango,Pineapple"
, а значение по умолчанию - "ALL FRUITS"
.
ОЖИДАЕМЫЙ ПРОСМОТР
ALL FRUITS
Apple
Mango
Pineapple
Как я могу сделать значение по умолчанию выбранным значением? Спасибо заранее.
Ответы
Ответ 1
Думаю, вам нужно под кодом.
List<String> categories = new ArrayList<String>();
categories = db.getData();
categories.add(0,"your_default_value");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
spinner.setSelection(0);
Помните, когда вы хотите добавить любое значение к самому первому из Arraylist, вы просто делаете
arraylist.add(0,"value");
Это добавит значение к самому первому индексу arraylist и удаляет все остальные элементы.
Если вам нужен какой-либо другой элемент, который будет выбран не первым,
Spinner spinner = (Spinner) findViewById(R.id.spinner);
List<String> categories = new ArrayList<String>();
categories.add("Automobile");
categories.add("Business Services");
categories.add("Computers");
categories.add("Education");
categories.add("Personal");
categories.add("Travel");
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
int i=categories.indexOf("Education");
spinner.setSelection(i);
Ответ 2
Если значение по умолчанию всегда будет в индексе 0, просто получите ссылку на выпадающий список /spinner, а затем установите:
spinner.setSelection(0);
И вот приведенный ранее вопрос, подробно описывающий, как установить его по значению, если вы предпочтете это сделать.
fooobar.com/info/32545/...