2016-08-22 56 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); 
相關問題