Изменить значение SeekBarPreference View value - PullRequest
0 голосов
/ 22 мая 2019

У меня есть SeekBarPreference в моем preferences.xml.

Имеет min 10 и max 30.

Однако я хочу изменить значение на Float в представлении. Например. если значение progress равно 25, я хочу сказать 2.5.

Я не смог найти способ изменить View, поэтому я прибег к скрытию значения представления и изменению значения сводки и отображению:

override fun onPreferenceChange(preference: Preference?, newValue: Any?): Boolean {
    // Access view of meetup value
    val distancePreference: SeekBarPreference = findPreference("key_distance")!!
    var distance = 1.0f
    if (newValue is Int){
        distance = newValue.toFloat() / 10
    }
    when (preference?.key){
        "key_distance" -> {
            val new = distance / 10
            distancePreference.summary = distance.toString()
            return true
        }
    }
    return true
}

Есть ли способ изменить значение View?

XML

<SeekBarPreference
    android:layout="@layout/preference_widget_seekbar_override"
    app:showSeekBarValue="false"
    android:max="30"
    android:defaultValue="10"
    android:key="key_distance"
    android:title="Distance (km)"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...