问题描述
MainActivity 有 RecyclerView 项目,当项目被点击时,它会转到详细的活动,其中有 ratingBar 和后退按钮将评级保存到共享首选项并在重新访问活动时显示以前的评级。
我在 MainActivity 中使用了 intent.putExtra("KEY",item.keyName)
,因此在将评级从评级栏保存到共享首选项时,我可以使用此字符串作为项目映射键。但是当点击 RecyclerView 项目时,应用程序崩溃了,我收到了 kotlin.KotlinNullPointerException 错误。
这是加载和保存功能
private fun saveData(){
val insertedFloat = rating_bar.rating.toString()
rating.text = insertedFloat
val sharedPreferences = getSharedPreferences("sharedPrefs",Context.MODE_PRIVATE)
val editor = sharedPreferences.edit()
val stringKey = intent.getStringExtra("KEY")
editor.apply{
putString(stringKey,insertedFloat)
}.apply()
}
private fun loadData(){
val sharedPreferences = getSharedPreferences("sharedPrefs",Context.MODE_PRIVATE)
val stringKey = intent.getStringExtra("KEY")
val savedString = sharedPreferences.getString(stringKey,null)
rating.text = savedString
rating_bar.rating = savedString!!.toFloat()
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)