大家好:)我有一个评分栏,它可以正常工作,但是当用户离开页面时,该评分不会保存。您如何保存用户评分?
这是代码
RatingBar ratingBar;
TextView ratingText;
SharedPreferences wmbPreference1;
SharedPreferences.Editor editor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_item_activity_1);
ratingText = (TextView) findViewById(R.id.rating);
((RatingBar) findViewById(R.id.ratingBar1)).setOnRatingBarChangeListener(this);
wmbPreference1 = PreferenceManager.getDefaultSharedPreferences(this);
}
@Override
public void onRatingChanged(RatingBar ratingBar, float rating,
boolean fromTouch) {
final int numStars = ratingBar.getNumStars();
editor = wmbPreference1.edit();
editor.putInt("numStars", numStars);
editor.commit();
int ratings = wmbPreference1.getInt("numStars", 0);
ratingText.setText(rating + "/" + ratings.toString());
}
任何帮助,将不胜感激。
您可以为此使用 SharedPreferences 。
返回SharedPreferences
应用程序之前,请保存评级,然后从中检索评级SharedPreferences
并在评级栏中进行设置。
SharedPreferences wmbPreference1,wmbPreference2;
SharedPreferences.Editor editor;
//wmbPreference for Shared Prefs that lasts forever
wmbPreference1 = PreferenceManager.getDefaultSharedPreferences(this);
//installsp for Shared Prefs that lasts only just once each time program is running
wmbPreference2 =getApplicationContext().getSharedPreferences("MYKEY",Activity.MODE_PRIVATE);
保存值
SharedPreferences.Editor editor = wmbPreference1.edit();
editor.putString("MYKEY", "12345");
editor.commit();
您可以 检索 类似 的值
String Phonenumber = wmbPreference1.getString("MYKEY", "");
其中 的myKey 是 键名 ,通过它可以识别值..
编辑
像这样更改代码
SharedPreferences wmbPreference1;
SharedPreferences.Editor editor;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_item_activity_1);
ratingText = (TextView) findViewById(R.id.rating);
((RatingBar) findViewById(R.id.ratingBar1))
.setOnRatingBarChangeListener(this);
wmbPreference1 = PreferenceManager.getDefaultSharedPreferences(this);
}
@Override
public void onRatingChanged(RatingBar ratingBar, float rating,
boolean fromTouch) {
final int numStars = ratingBar.getNumStars();
editor = wmbPreference1.edit();
editor.putInt("numStars", numStars);
editor.commit();
而当您回来时,即当您想获取评分时
int ratings = wmbPreference1.getInt("numStars", 0);
ratingText.setText(rating + "/" + String.valueOf(ratings));
这里ratings
将保留先前设置的评分。
介绍 用于对事物进行评级操作。 引入 import { createApp } from 'vue'; import { Rate } from 'vant'; const app = createApp(); app.use(Rate); 代码演示 基础用法 <van-rate v-model="value" /> export default { data() { retur
使用指南 组件介绍 评分组件,支持自定义评分图案,评分范围等。 引入方式 import { Rate } from "feart"; components:{ 'fe-rate':Rate, } 代码演示 基础用法 使用 icon 组件 <fe-rate v-model="value" /> 不使用 icon 组件 <fe-rate v-model="value" :is-icon=
当鼠标移动到星星上时,星星会暂时地指向鼠标所在的星星;此时移出星星,那么组件会恢复到原有值。只有在星星点击一下,值才会被固定下来,移出时不再恢复。 等级:<span id="level"></span> <div id="rating"></div> <div class="btn-bar"> <button id="disable">disable()</button> <but
评分组件。实现一套滑动评分的机制,支持定制任意图标。 Usage 全部引入 import { Rate } from 'beeshell'; 按需引入 import Rate from 'beeshell/dist/components/Rate'; Examples Code 详细 Code import { Rate } from 'beeshell' <Rate total={3}
Rate component can be used to show evaluation, and it provide a quick rating operation on something. Basic The simplest usage. <rate /> Readonly Set the disabled attribute to disable mouse interactio
Rate 评分 平台差异说明 App H5 微信小程序 支付宝小程序 百度小程序 头条小程序 QQ小程序 √ √ √ √ √ √ √ 基本使用 通过count参数设置总共有多少颗星星可选择 通过v-model双向绑定初始化时默认选中的星星数量 1.4.5新增 通过current设置初始化时默认选中的星星数量(1.4.5后建议使用v-model的方式,此参数为了向前兼容依然有效,但优先级低于v-mo