Я хочу добавить SeekBar в SettingsActivity, настроив который я могу сохранить значение в переменной. Я пробовал разные способы, но я не мог сделать это правильно ни с одним из них.
Мои настройки по умолчаниюActivity:
class SettingsActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.settings_activity)
supportFragmentManager
.beginTransaction()
.replace(R.id.settings, SettingsFragment())
.commit()
supportActionBar?.setDisplayHomeAsUpEnabled(true)
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
android.R.id.home -> {
finish()
return true
}
}
return super.onOptionsItemSelected(item)
}
class SettingsFragment : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.root_preferences, rootKey)
}
}
}
И мои root_preferences. xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<PreferenceCategory
app:iconSpaceReserved="false"
app:title="@string/title_activity_settings">
<SeekBarPreference
android:defaultValue="40"
android:key="shuffle_steps_key"
android:max="100"
android:summary="summary"
android:title="title"
app:defaultValue="true"
app:iconSpaceReserved="false"
app:min="10"
app:showSeekBarValue="true"
tools:ignore="UnusedAttribute" />
</PreferenceCategory>
</PreferenceScreen>
PS Я попытался вставить <Preference android:layout="@layout/sliderlayout" />
в root_preferences. xml и добавить код в onCreate of SettingsActivity, но у меня есть sh приложения