Заполнение счетчика с помощью запроса базы данных - PullRequest
0 голосов
/ 08 августа 2011

Я недавно начал программировать для 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);
}

Проблема в том, что при нажатии на счетчик он показывает список с таким количеством элементов, сколько в БД есть записей, но в списке не отображаются имена (можно сказать, что он пустой). Так что я, вероятно, что-то напутал с простым адаптером курсора, но я не знаю что.

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 08 августа 2011

Ваша ошибка заключается в указании неправильного идентификатора ресурса в массиве целых чисел от до .

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

Вам необходимо указать идентификатор TextView (или аналогично типизированного представления)а не сам макет.Замените строку выше на:

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