2010-01-15 28 views
0

我有一个活动,它有一个微调控件来显示类别。最初在我正在使用ArrayAdapter填充离心器如下面代码使用带有SimpleCursorAdapter的微调器

private static final String[] arrayCategories = { 
    "Business", 
    "Personal" 
}; 

mCatSpinner = (Spinner) findViewById(R.id.thecategory); 
ArrayAdapter<String> catAdapter = new ArrayAdapter<String>(this, R.layout.track_category_item, arrayCategories); 
catAdapter.setDropDownViewResource(R.layout.track_category_dropdown_item); 
mCatSpinner.setAdapter(catAdapter); 

这工作得很好,并且旋转器通过默认显示第一阵列项,如果没有作出选择。它确实显示选择项目时,实际选择一个项目

但现在我想使用SimpleCursorAdapter从数据库中拉列表内容。所以我将它改为

SimpleCursorAdapter scaCategories = new SimpleCursorAdapter(this, R.layout.track_category_item,cCategories,new String[] {DBAdapter.KEY_CATEGORIES_NAME},new int[]{R.id.text1}); 
scaCategories.setDropDownViewResource(R.layout.track_category_dropdown_item); 
mCatSpinner = (Spinner) findViewById(R.id.thecategory); 
mCatSpinner.setAdapter(scaCategories); 

这填充下拉列表,但它不显示微调框中的第一项。即使被选中,它也不会显示所选项目。

我试图setSlection使用

if(mCatSpinner.isSelected() != true) { 
    mCatSpinner.setSelection(0); 
} 

的第一个项目,但它没有工作

有什么不对?

回答

2

好的,如果我在布局xml中指定了小部件ID,它将会有所帮助。 < :(

+2

你介意**接受**你的答案,所以它不会阻塞管?谢谢:) – 2011-09-04 15:13:27