SharedPreffeferences сохраняет только последнее значение - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь использовать SharedPreferences, но сохраняется только последнее значение.

Основная деятельность

mypreference.setPrice(txtPrice.text.toString().toFloat())
mypreference.setSABV(txtABV.text.toString().toFloat())

SharedPreference

class myPreferences(context: Context){

    val PREFERENCENAME = "BeerNote"
    val PRICE = 0.0f
    val ALCOHOLBYVOLUME = 0.0f

    val preference = context.getSharedPreferences(PREFERENCENAME,Context.MODE_PRIVATE)

    fun setPrice(price:Float){
        preference.edit().putFloat(PRICE.toString(),price).apply()
    }
    fun getPrice():Float{
        return preference.getFloat(PRICE.toString(),0.0f)
    }

    fun setSABV(abv:Float){
        preference.edit().putFloat(ALCOHOLBYVOLUME.toString(),abv).apply()
    }
    fun getABV():Float{
        return preference.getFloat(ALCOHOLBYVOLUME.toString(),0.0f )
    }
}

когда я пытаюсь восстановить данные

    Toast.makeText(this, "Price:"+mypreference.getPrice(), Toast.LENGTH_LONG).show()
                Toast.makeText(this, "ABV:"+mypreference.getABV(), Toast.LENGTH_LONG).show()

сохраняет только значение ABV в ценах и ABV

1 Ответ

0 голосов
/ 26 апреля 2019

Вы должны использовать константы Strings в качестве ключей вместо чисел, преобразованных в строки, как вы делаете сейчас. Это будет выглядеть так:

class myPreferences(context: Context){

val PREFERENCENAME = "BeerNote"
val PRICE = 0.0f
val ALCOHOLBYVOLUME = 0.0f
val priceKey = "price"
val SABVKey = "sabv"

val preference = context.getSharedPreferences(PREFERENCENAME,Context.MODE_PRIVATE)

fun setPrice(price:Float){
    preference.edit().putFloat(priceKey,price).apply()
}
fun getPrice():Float{
    return preference.getFloat(priceKey,0.0f)
}

fun setSABV(abv:Float){
    preference.edit().putFloat(SABVKey,abv).apply()
}
fun getABV():Float{
    return preference.getFloat(SABVKey,0.0f )
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...