После завершения учебников Notepad мне удалось добавить панель оценки в разделе редактирования примечаний, позволяя пользователю взаимодействовать с ней и оценивать заметку, которая сохраняется в базе данных SQL. Теперь я пытаюсь добавить панель оценки в fillData()
который определяет элементы строки в списке, что позволяет легко заполнить список записями из базы данных. Но проблема в том, что программа сдерживается из-за R.id.rating
и я не знаю, как ее исправить. Есть ли способ показать рейтинг вместе с примечаниями в основном списке? Спасибо
private void fillData() {
Cursor notesCursor = mDbHelper.fetchAllNotes();
startManagingCursor(notesCursor);
// Create an array to specify the fields we want to display in the list
String[] from = new String[]{NotesDbAdapter.KEY_TITLE,NotesDbAdapter.KEY_BODY,NotesDbAdapter.KEY_RATING};
// and an array of the fields we want to bind those fields to
int[] to = new int[]{R.id.text1,R.id.text2,R.id.rating};
// Now create a simple cursor adapter and set it to display
SimpleCursorAdapter notes =
new SimpleCursorAdapter(this, R.layout.notes_row, notesCursor, from, to);
setListAdapter(notes);
}
SimpleCursorAdapter
поддерживает только TextViews
и ImageViews
и не поддерживает RatingBar
См. Подробности:
http://developer.android.com/reference/android/widget/SimpleCursorAdapter.html
Теперь, чтобы отобразить RatingBar
в ListView
, вы должны использовать CursorAdapter
и использовать его newView
для создания и bindView
для установки значения рейтинга. Вы также можете использовать ListAdapter
который является более подробным для использования.
Ссылаться на:
http://developer.android.com/reference/android/widget/CursorAdapter.html http://developer.android.com/reference/android/widget/ListAdapter.html