我有一个从数据库获取其值的下拉列表,然后我想为现有的下拉值添加一个默认值。在这种情况下,默认值将是选定的值。
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
请问如何将默认值设为选定值?提前谢谢。
答案 0 :(得分: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);
答案 1 :(得分:0)
如果默认值始终位于0索引处,只需获取对下拉列表/微调器的引用,然后设置:
spinner.setSelection(0);
以下是一个先前已回答的问题,详细说明如何按值设置,如果您更愿意这样做。 https://stackoverflow.com/a/4228121/3299157