在Recycler视图中显示ratingbar的平均评级

时间:2017-11-07 02:51:27

标签: java android sqlite

我有一个方法应该返回RecyclerView中每个项目的平均评分,但它会一直显示所有评级的总体评分,而不仅仅是一行特定的评分。我用

select AVG(rating_value) from rating where location_id = ?;

表示Rating_table.GET_ALL_RATINGS

的值
public float getAvgRate(int locationID)
    {
        mDatabase = this.getReadableDatabase();
        Cursor cursor = mDatabase.rawQuery(Rating_table.GET_ALL_RATINGS,
                new String[] {String.valueOf(locationID)});
        cursor.moveToFirst();
        if (cursor.getCount() > 0)
            return cursor.getFloat(cursor.getPosition());
        cursor.close();
        mDatabase.close();
        return 0;
    }

所有内容都正确存储在我的数据库中,但它没有正确显示。

1 个答案:

答案 0 :(得分:1)

我认为你使用

cursor.getFloat(0);

而不是

cursor.getFloat(cursor.getPosition());

在android开发人员中

  

为getPosition()   返回行集中光标的当前位置。

     

getFloat(int columnIndex)   以float形式返回请求列的值。