我有一个下拉列表,它从数据库中获取其值,然后我想将默认值添加到现有的下拉列表值中。在这种情况下,默认值将是所选值。
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);
上面的代码能够将数据库中的值添加到下拉列表中,并且添加了默认值
,但它似乎不是选定的值。
例如,如果数据库中的值为“Apple、Mango、Pineapple”
,默认值为“ALL FRUITS”
。
预期下降
所有水果
苹果
芒果
菠萝
请问如何将默认值设为所选值?提前致谢。
最佳答案
我认为您需要以下代码。
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);
关于android - 如何在android下拉列表中添加默认选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35367172/