У меня есть активность, в которой есть виджет Spinner для отображения категорий. Изначально я использовал ArrayAdapter для заполнения счетчика, как показано в следующем коде
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);
Заполняет раскрывающийся список, но не отображает первый элемент в счетчике. Даже если он выбран, он не показывает выбранный элемент.
Я попытался установить выбор для первого элемента, используя
if(mCatSpinner.isSelected() != true) {
mCatSpinner.setSelection(0);
}
но это не сработало
Что не так?