一、使用SharedPreferences类,把用户操作记录保存到里面。
因为是按钮的状态,所以在点击事件里面保存用户的操作数据。
获取用户的点击位置,和点击后的发生改变的值。
@Override public void OnItemHiddenClick(View view, int position) { //下面进行其他操作,比如跳转等 SoundPoint info = planetList.get(position); info.IsHidden = !info.IsHidden; //创建SharedPreferences共享偏好 sharedPreferences = this.getSharedPreferences("OnItemHiddenClick", MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); //保存数据 editor.putBoolean(info.SoundPointCode, info.IsHidden); //提交数据 editor.commit(); planetList.set(position, info); adapter.notifyDataSetChanged(); }
之后在获得数据列表的方法中,去获取保存在SharedPreferences中的值
//将保存到SharedPreferences中的值,赋给IsHidden info.IsHidden = sharedPreferences.getBoolean(info.SoundPointCode, info.IsHidden);
在这里要做判空处理,否则有可能导致程序崩溃。
以上是在开发中遇到的需求,做下记录,和总结。
共勉:
不积跬步,无以至千里;不积小流,无以成江海;