我最近开始为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有条目一样多的项目,但列表中没有显示名称(您可以说它是空的)。所以我可能用简单的游标适配器搞砸了,但我不知道是什么。
感谢您的帮助
答案 0 :(得分:0)
您的错误在于在到整数数组中指定错误的资源ID。
int[] to = new int[] {android.R.layout.simple_spinner_item};
您需要指定TextView(或类似类型的视图)的ID,而不是布局本身。将以上行替换为:
int[] to = new int[] { android.R.id.text1 };