我在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);作为未知字段返回
但我认为问题出在preferences对话框中。当我选中COLOR_CODING框并关闭然后打开PreferencesScreen时,它的状态仍然存在。当我移动NOTE_MINIMUM对话框上的滑块(并单击OK)时,关闭并重新打开应用程序时会显示应用程序初始化时的滑块,滑块位于其轨迹的开头。
有人能帮我解决这个问题吗?
发布于 2011-09-13 00:03:54
接听了。
最后,我创建(剪切并粘贴了某人的) SeekBarPreference代码,并将其放入我的应用程序中的一个类中,并调用它而不是api类。
然而,这与其说是一种答案,不如说是一种变通方法。
我仍然不明白为什么android SeekBarPreference不像android CheckBoxPreference那样存储结果(不需要额外的应用程序代码监听器来捕获它的状态)。
我仍然有兴趣看到另一个答案,因为这个滚动您自己的代码似乎是每个人都使用的方法。
https://stackoverflow.com/questions/7379683
复制相似问题