2011-08-07 69 views
0

我最近开始编写android和java开发的一般程序。目前我通过编写时间表应用程序进行培训。 我想要获得一个列表,其中包含来自db的所有主题(该表还包含教师和房间)并将它们放入微调器中。 那是我的代码写用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

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

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

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

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