0

我最近开始为一般的 android 和 java 开发编程。目前我通过编写一个时间表应用程序进行训练。我想从数据库中获取所有科目的列表(该表还包含教师和房间)并将它们放入微调器中。这就是我写的代码

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);
}

问题是,当单击微调器时,它会显示一个列表,其中包含与数据库条目一样多的项目,但该列表不显示名称(您可以说它是空的)。所以我可能把简单的光标适配器搞砸了,但我不知道是什么。

谢谢你的帮助

4

1 回答 1

0

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

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

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

int[] to = new int[] { android.R.id.text1 };
于 2011-08-08T00:10:37.497 回答