pull/32/head
parent
63310bc1e7
commit
a2c5f0fce9
@ -1,13 +1,43 @@ |
||||
package io.legado.app.ui.config |
||||
|
||||
import android.os.Bundle |
||||
import androidx.preference.EditTextPreference |
||||
import androidx.preference.ListPreference |
||||
import androidx.preference.Preference |
||||
import androidx.preference.PreferenceFragmentCompat |
||||
import io.legado.app.R |
||||
import io.legado.app.utils.getPrefString |
||||
|
||||
class WebDavConfigFragment : PreferenceFragmentCompat() { |
||||
class WebDavConfigFragment : PreferenceFragmentCompat(), Preference.OnPreferenceChangeListener { |
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { |
||||
addPreferencesFromResource(R.xml.pref_config_web_dav) |
||||
bindPreferenceSummaryToValue(findPreference<EditTextPreference>("web_dav_url")) |
||||
} |
||||
|
||||
override fun onPreferenceChange(preference: Preference?, newValue: Any?): Boolean { |
||||
val stringValue = newValue.toString() |
||||
|
||||
if (preference is ListPreference) { |
||||
val index = preference.findIndexOfValue(stringValue) |
||||
// Set the summary to reflect the new value. |
||||
preference.setSummary(if (index >= 0) preference.entries[index] else null) |
||||
} else { |
||||
// For all other preferences, set the summary to the value's |
||||
preference?.summary = stringValue |
||||
} |
||||
return true |
||||
} |
||||
|
||||
private fun bindPreferenceSummaryToValue(preference: Preference?) { |
||||
preference?.let { |
||||
preference.onPreferenceChangeListener = this |
||||
onPreferenceChange( |
||||
preference, |
||||
preference.context.getPrefString(preference.key, "") |
||||
) |
||||
} |
||||
|
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue