在列表视图中显示RatingBar

时间:2011-12-04 23:38:53

标签: android android-widget

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

1 个答案:

答案 0 :(得分:1)

SimpleCursorAdapter仅支持TextViewsImageViews,不支持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