2012-01-31 99 views
0

我真的不知道這個交易是什麼。它應該很簡單,但由於某種原因,我的微調沒有填充任何數據。微調+光標問題

final String fields[] = { "siteName","_id" }; 
    int[] to = new int[] { android.R.id.text1 }; 

    DatabaseHelper helper = new DatabaseHelper(this); 
    database = helper.getReadableDatabase(); 
    Cursor ftpCursor = database.query("ftptable", fields, null, null, null, null, null); 
    startManagingCursor(ftpCursor); 

    Log.i("tag", "getcount result:"+ftpCursor.getCount()); 

    SimpleCursorAdapter dataSource = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item, ftpCursor, fields, to); 
    dataSource.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 

    s = (Spinner) findViewById(R.id.upload_screen_spinner); 
    s.setAdapter(dataSource); 

Log行在遊標上返回4的getCount(),所以我知道遊標中有數據。當微調打開時,根本沒有數據。我認爲它一定是愚蠢的,但我看不到它。

+0

有沒有可能是你有4條空字符串的,你不會看到任何東西如果它真的發生。 .. – emalamisura 2012-01-31 21:17:48

+0

不,這些記錄是在應用程序的其他地方檢索到的,它們不是空的。 – Carnivoris 2012-01-31 21:27:41

+0

然後有可能是其中的數據,但您的項目佈局沒有顯示任何內容... – emalamisura 2012-01-31 21:37:03

回答

0

陣列有兩個值,而你的陣列有一個字段。嘗試刪除「_id」並查看它是否有效。

+0

cursoradapter需要_id字段。無論如何,我已經知道這不是問題。在應用程序的另一部分中,我也有類似的字段/ to cursoradapter,它們執行相同的操作。單個字段只是默認爲from數組中的第一列。 – Carnivoris 2012-01-31 21:25:00

1

我終於搞定了。我認爲催化修復是在SimpleCursorAdapter改變佈局android.R.layout.simple_spinner_dropdown_item

final String from[] = { "siteName","_id" }; 
int[] to = new int[] { android.R.id.text1 }; 

DatabaseHelper helper = new DatabaseHelper(this); 
database = helper.getWritableDatabase(); 
Cursor ftpCursor = database.query("ftptable", from, null, null, null, null, null); 

SimpleCursorAdapter dataSource = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_dropdown_item, ftpCursor, from, to); 

ftpCursor.moveToFirst(); 
database.close(); 


Spinner s = (Spinner) findViewById(R.id.upload_screen_spinner); 
s.setAdapter(dataSource);