使用db查询填充微调器

时间:2011-08-07 20:50:03

标签: android spinner simplecursoradapter

我最近开始为Android和Java开发编程。目前我通过编写时间表应用程序进行培训。 我想得到一个包含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有条目一样多的项目,但列表中没有显示名称(您可以说它是空的)。所以我可能用简单的游标适配器搞砸了,但我不知道是什么。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您的错误在于在整数数组中指定错误的资源ID。

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

您需要指定TextView(或类似类型的视图)的ID,而不是布局本身。将以上行替换为:

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