У меня есть 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)"/>