Spinner + Cursor问题

时间:2012-01-31 18:52:44

标签: android sqlite cursor

老实说,我不知道这笔交易是什么。它应该很简单,但由于某种原因,我的微调器没有填充任何数据。

    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行在游标上返回getCount()4,所以我知道游标中有数据。微调器打开时,根本没有数据。我认为它一定是愚蠢的东西但我却看不到它。

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

您的 来自 数组有两个值,而 数组有一个字段。尝试删除“_id”,看看它是否有效。