2016-08-22 109 views
0

我在微调器中显示值。我想显示默认文本,如“选择表格”。这是我的代码如何在Android微调器中设置默认文本

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

我建议将您的标题一些更具体的信息。将代码格式化为更具可读性,并询问具体问题(提供有关不工作的信息等) – threeve

+0

这是确切的问题,我收到答案并且工作正常。感谢您的推荐。 –

回答

3

首先你应该声明

ArrayList<TableData> tableDatas = new ArrayList<TableData>(); 

forloop因为你是在list

将所有的条目先加内list您的默认值,然后写forloop添加所有值json array,然后使用spinner.setSelection(0);方法显示微调器中的瑕疵值,因为您已将其添加到的第1位

以下是代码

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); 
相关问题