SeekBarPreference 似乎没有保持其价值

Posted

技术标签:

【中文标题】SeekBarPreference 似乎没有保持其价值【英文标题】:SeekBarPreference doesn't seem to persist its value 【发布时间】:2011-11-14 19:59:51 【问题描述】:

我在一个显示的 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)时,关闭重新打开应用程序会显示滑块,就像应用程序初始化时一样,滑块位于其轨道的开头。

谁能帮我解决这个问题。

【问题讨论】:

【参考方案1】:

已回答。

最后,我创建(剪切并粘贴了某人的)SeekBarPreference 代码,并将其放入我的应用程序中的一个类中,而不是 api 类。

但是,这与其说是一种解决方法,不如说是一种解决方法。

我仍然不明白为什么 android SeekBarPreference 但它不会以与 android CheckBoxPreference 相同的方式存储其结果(无需额外的应用程序代码侦听器来捕获它的状态)。

我仍然有兴趣看到另一个答案,因为您自己的代码似乎是其他人使用的方法。

【讨论】:

以上是关于SeekBarPreference 似乎没有保持其价值的主要内容,如果未能解决你的问题,请参考以下文章

如何使用“imageWithData”保存和检索UIImages保持正确的图像格式?

glutReshapeFunc() 没有做任何改变

相机显示不保持纵横比/似乎歪斜

服务器响应中的“连接:保持活动”

如何在 Ionic 中使元素的高度等于其宽度?

针对特定用例在不同页面上保持相同状态