我有一个方法应该返回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;
}
所有内容都正确存储在我的数据库中,但它没有正确显示。
答案 0 :(得分:1)
我认为你使用
cursor.getFloat(0);
而不是
cursor.getFloat(cursor.getPosition());
在android开发人员中
为getPosition() 返回行集中光标的当前位置。
getFloat(int columnIndex) 以float形式返回请求列的值。