У меня есть следующий фрагмент кода для страницы настроек с использованием настроек. Я могу найти правильный ListPreference, я могу установить итоговую строку, но я не могу получить значение из объекта предпочтения. По крайней мере, Android Studio не может найти ссылку на метод getValue ().
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.support.v7.preference.ListPreference
import android.support.v7.preference.Preference
import android.support.v7.preference.PreferenceFragmentCompat
class SettingsActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_settings)
setSupportActionBar(findViewById(R.id.settings_toolbar))
supportActionBar?.setDisplayHomeAsUpEnabled(true)
supportFragmentManager
.beginTransaction()
.replace(R.id.content_settings, MySettingsFragment())
.commit()
}
class MySettingsFragment : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.pref_settings, rootKey)
val pref = findPreference("selected_maptype")
pref.summary = "This is a summary"
val current_value = pref.getValue()
}
}
}