安卓studio 利用RatingBar评分 并显示历史分数
时间: 2023-06-12 14:04:54 浏览: 63
在 Android Studio 中,可以使用 RatingBar 来实现评分的功能,并且可以通过 SharedPreferences 来保存历史分数。
首先,在布局文件中添加 RatingBar 和一个 TextView 用来显示历史分数:
```
<RatingBar
android:id="@+id/ratingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/history"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
```
接下来,在 Activity 中获取 RatingBar 和 TextView,并且设置 RatingBar 的 OnRatingBarChangeListener 来监听用户评分的变化:
```
private RatingBar ratingBar;
private TextView history;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ratingBar = findViewById(R.id.ratingBar);
history = findViewById(R.id.history);
ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
@Override
public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) {
// 保存当前评分到 SharedPreferences
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putFloat("rating", rating);
editor.apply();
// 更新历史分数的显示
float historyRating = preferences.getFloat("rating", 0.0f);
history.setText("历史分数:" + historyRating);
}
});
// 显示历史分数
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
float historyRating = preferences.getFloat("rating", 0.0f);
history.setText("历史分数:" + historyRating);
}
```
在 OnRatingBarChangeListener 中,首先获取 SharedPreferences 对象,并将当前评分保存到 SharedPreferences 中。然后,使用 SharedPreferences 获取历史分数并更新 TextView 的显示。
在 Activity 的 onCreate 方法中,先获取历史分数并更新 TextView 的显示。然后,设置 RatingBar 的 OnRatingBarChangeListener 来监听评分的变化。
这样就可以实现 RatingBar 的评分功能,并且可以显示历史分数。