我在XML文件中显示SeekBarPreference
(并且滑块有效),但在我点击OK
按钮后,该值似乎消失了。
这是我的XML文件......
<?xml version="1.0" encoding="UTF-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<SeekBarPreference android:key="NOTE_MINIMUM"
android:summary="Set the lowest note in the playback sound"
android:max="125"
android:title="Lowest note"
android:persistent="true"
android:defaultValue="25" />
<CheckBoxPreference android:key="COLOR_CODING"
android:title="Show playback progress bar"
android:summary="string/color_coding_summary"
android:defaultValue="true" />
</PreferenceScreen>
我可以在代码中获取COLOR_CODING
字段的值,但不能获取NOTE_MINIMUM
字段的值,该字段使用prefs.getInt("NOTE_MINIMUM", -11);
但我认为问题出在首选项对话框中。当我检查COLOR_CODING
框并关闭然后打开PreferencesScreen
时,它的状态仍然存在。当我在NOTE_MINIMUM
对话框上移动滑块(并单击OK
)时,关闭重新打开应用程序会显示应用程序初始化时的滑块,滑块位于其轨道的开头
有谁可以帮我解决这个问题。
答案 0 :(得分:0)
回答。
最后我创建了(剪切并粘贴某人)SeekBarPreference代码,并将其变成了我的应用程序中的一个类,而不是api类。
然而,这并不是一个解决方法。
我仍然不明白为什么android SeekBarPreference但它不会以与android CheckBoxPreference相同的方式存储其结果(不需要额外的应用程序代码监听器来捕获它的状态)。
我仍然有兴趣看到另一个答案,因为这个滚动你自己的代码似乎是其他人使用的方法。