2011-08-07 108 views
0

我最近開始編寫android和java開發的一般程序。目前我通過編寫時間表應用程序進行培訓。 我想要獲得一個列表,其中包含來自db的所有主題(該表還包含教師和房間)並將它們放入微調器中。 那是我的代碼寫用db查詢填充微調器

Cursor c = dba.fetchAllSubjects(); 

if (c.getCount() != 0) { 
    Spinner subjectSpinner = (Spinner) findViewById(R.id.newlesson_subject); 
    startManagingCursor(c); 
    String[] from = new String[]{DbAdapter.KEY_SUBJECT}; 
    int[] to = new int[] {android.R.layout.simple_spinner_item}; 
    SimpleCursorAdapter subjectAdapter = 
     new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, c, from, to); 
    subjectSpinner.setAdapter(subjectAdapter); 
} 

的問題是,在離心機上點擊時,它顯示了儘可能多的項目,如DB具有條目列表,但列表不顯示名字(你可以說這是空)。所以我可能弄錯了簡單的遊標適配器,但我不知道是什麼。

感謝您的幫助

回答

0

你的錯誤在於在你整數數組指定了錯誤的資源ID。

int[] to = new int[] {android.R.layout.simple_spinner_item}; 

您需要指定TextView(或類似類型的視圖)的ID,而不是佈局本身。將上面的行替換爲:

int[] to = new int[] { android.R.id.text1 };