Kotlin:如何从 RatingBar 中保存值?
Kotlin: How to save values from RatingBar?
我在我的应用程序中创建了一个 RatingBar。它用于对电影进行评级。我想要保存价值。当我登录并转到那个 activity 时,我想看到我评价的那颗星。我很难找到答案,因为它是用 Kotlin 编写的,我是新手。
我搜索了许多其他问题和答案,但没有结果。你能告诉我我的代码需要更改什么吗?
class MovieDetailsActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_movie_details)
fiveStars()
val sharedPreference = getPreferences(Context.MODE_PRIVATE)
val rating = sharedPreference.getFloat("numStars", 0f)
ratingBar.rating = rating
}
private fun fiveStars() {
val ratingBar = findViewById<RatingBar>(R.id.ratingBar)
ratingBar.onRatingBarChangeListener = RatingBar.OnRatingBarChangeListener()
{ ratingBar: RatingBar, fl: Float, b: Boolean ->
val sharedPreference = getSharedPreferences("numStars", Context.MODE_PRIVATE)
val editor = sharedPreference.edit()
editor.putFloat("numStars", fl)
editor.apply()
Log.d("rate", ratingBar.rating.toString())
}
}
}
我尝试了很多东西,但没有任何效果。希望你能帮助我。谢谢!
您似乎使用了两种不同的首选项。
你在这里打电话 getPreferences(Context.MODE_PRIVATE)
:
val sharedPreference = getPreferences(Context.MODE_PRIVATE)
val rating = sharedPreference.getFloat("numStars", 0f)
ratingBar.rating = rating
这里您使用的是特定的 sharedPreferences:
val sharedPreference = getSharedPreferences("numStars", Context.MODE_PRIVATE)
val editor = sharedPreference.edit()
要么在两种情况下都使用 getPreferences(Context.MODE_PRIVATE)
,要么在两种情况下都使用 getSharedPreferences("numStars", Context.MODE_PRIVATE)
我在我的应用程序中创建了一个 RatingBar。它用于对电影进行评级。我想要保存价值。当我登录并转到那个 activity 时,我想看到我评价的那颗星。我很难找到答案,因为它是用 Kotlin 编写的,我是新手。
我搜索了许多其他问题和答案,但没有结果。你能告诉我我的代码需要更改什么吗?
class MovieDetailsActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_movie_details)
fiveStars()
val sharedPreference = getPreferences(Context.MODE_PRIVATE)
val rating = sharedPreference.getFloat("numStars", 0f)
ratingBar.rating = rating
}
private fun fiveStars() {
val ratingBar = findViewById<RatingBar>(R.id.ratingBar)
ratingBar.onRatingBarChangeListener = RatingBar.OnRatingBarChangeListener()
{ ratingBar: RatingBar, fl: Float, b: Boolean ->
val sharedPreference = getSharedPreferences("numStars", Context.MODE_PRIVATE)
val editor = sharedPreference.edit()
editor.putFloat("numStars", fl)
editor.apply()
Log.d("rate", ratingBar.rating.toString())
}
}
}
我尝试了很多东西,但没有任何效果。希望你能帮助我。谢谢!
您似乎使用了两种不同的首选项。
你在这里打电话 getPreferences(Context.MODE_PRIVATE)
:
val sharedPreference = getPreferences(Context.MODE_PRIVATE)
val rating = sharedPreference.getFloat("numStars", 0f)
ratingBar.rating = rating
这里您使用的是特定的 sharedPreferences:
val sharedPreference = getSharedPreferences("numStars", Context.MODE_PRIVATE)
val editor = sharedPreference.edit()
要么在两种情况下都使用 getPreferences(Context.MODE_PRIVATE)
,要么在两种情况下都使用 getSharedPreferences("numStars", Context.MODE_PRIVATE)