我在微调器中显示值。我想显示默认文本,如"选择表"。这是我的代码
JSONArray tablearray = tablenamejson.getJSONArray("data");
for (int i = 0; i < tablearray.length(); i++) {
JSONObject jsonObject = tablearray.getJSONObject(i);
String table_id = jsonObject.getString(TAG_TABLE_ID);
String table_name = jsonObject.getString(TAG_TABLE_NAME);
ArrayList<TableData> tableDatas = new ArrayList<TableData>();
TableData tables = new TableData();
tables.setTblId(table_id);
tables.setTblName(table_name);
tableDatas.add(tables);
}
adapter = new TableAdapter(tableDatas, getActivity());
spinner.setAdapter(adapter);
答案 0 :(得分:3)
首先你应该声明
ArrayList<TableData> tableDatas = new ArrayList<TableData>();
当您添加forloop
中的所有条目时,在list
之外
首先在list
内添加默认值,然后写forloop
以添加json array
中的所有值,然后使用spinner.setSelection(0);
方法在微调器中显示defult值将其添加到array
以下是代码
ArrayList<TableData> tableDatas = new ArrayList<TableData>();
//for default value
TableData tables = new TableData();
tables.setTblId(0);
tables.setTblName("Select");
tableDatas.add(tables);
JSONArray tablearray = tablenamejson.getJSONArray("data");
for (int i = 0; i < tablearray.length(); i++) {
JSONObject jsonObject = tablearray.getJSONObject(i);
String table_id = jsonObject.getString(TAG_TABLE_ID);
String table_name = jsonObject.getString(TAG_TABLE_NAME);
TableData tables = new TableData();
tables.setTblId(table_id);
tables.setTblName(table_name);
tableDatas.add(tables);
}
adapter = new TableAdapter(tableDatas, getActivity());
spinner.setAdapter(adapter);
spinner.setSelection(0);
答案 1 :(得分:1)
您可以使用微调器.setSelection()来实现此目的。
String myString = "Select Table"; //default value for spinner
ArrayAdapter myAdap = (ArrayAdapter) mySpinner.getAdapter();
int spinpos= myAdap.getPosition(myString);
//set the default according to value
spinner.setSelection(spinpos);