2013-04-23 74 views
1

我有一個Spinner這是從使用SimpleCursorAdapter查詢填充,這工作正常......但現在我需要把一個選項「請選擇」之前所有項目從查詢檢索,只是可用性問題......但我不太清楚怎麼做...幫助請...在Android中添加一個「請選擇」選項給一個微調器


這裏是我的代碼...

private Spinner comboForm; 
... 
comboForm = (Spinner) findViewById(R.id.comboFormularios); 
... 
mDbH.abrir(); 
final Cursor cu = mDbH.consultaFormularios(idU); 
if(cu.moveToFirst() == false){ 
    cu.close(); 
    mDbH.cerrar(); 
}else{ 
    SimpleCursorAdapter adapter2 = new SimpleCursorAdapter(getApplicationContext(),R.layout.spinner,cu,new String[] {"nombre"},new int[] {R.id.textoCombo}); 
    adapter2.setDropDownViewResource(R.layout.simple_spinner_dropdown_item); 
    comboForm.setAdapter(adapter2); 
} 
mDbH.cerrar(); 
... 
comboForm.setOnItemSelectedListener(new OnItemSelectedListener(){ 
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView,int position, long id) { 
     idF = (int) id; 
     obtenerDatosRutas(idU,idF); 
     tabla.removeAllViews(); 
     llenarTabla(); 
    } 

    public void onNothingSelected(AdapterView<?> arg0) {} 
}); 

其中mDbH是我用來操作Database的類的一個實例...正如您所看到的,Spinner是fill編了從產生的查詢光標consultaFormularios(idU)

+0

可能重複[安卓微調提示](http://stackoverflow.com/questions/6602339/android-spinner-hint)如何使一個Android使其具有初始的 – 2013-04-24 09:58:30

+0

可能重複文本「選擇一個」](http://stackoverflow.com/questions/867518/how-to-make-an-android-spinner-with-initial-text-select-one) – 2013-04-25 14:33:05

回答

1

當你創建你的光標,一個可能的解決辦法是使用SQL UNION,構建第二選擇,僅僅包含了你所需要的標籤(加入訂貨硬編碼的虛擬字段) 。

或者,這很可能是最簡單的解決方案。不要使用遊標適配器,而要使用數組適配器,並首先使用所需的默認值填充數組,然後粘貼遊標中的所有項目。類似的

ArrayList<String> arrayList = new ArrayList<String>(); 
arrayList.add("Please select"); 

final Cursor cu = mDbH.consultaFormularios(idU); 

while(cu.moveToNext()) { 
    arrayList.add(cu.getString(0)); // assuming you want a 
            //string from the first column 
} 

ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, arrayList); 
comboForm.setAdapter(spinnerArrayAdapter); 
相關問題