完成记事本教程后,我设法在编辑注释部分添加一个评级栏,允许用户与其进行交互并对笔记进行评级,这将保存在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);
}
答案 0 :(得分:1)
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