【问题标题】:SeekBarPreference doesn't seem to persist its valueSeekBarPreference 似乎没有保持其价值
【发布时间】: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)时,关闭重新打开应用程序会显示滑块,就像应用程序初始化时一样,滑块位于其轨道的开头。

谁能帮我解决这个问题。

【问题讨论】:

    标签: android slider seekbar persist


    【解决方案1】:

    已回答。

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-12
      • 2021-12-16
      • 2020-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-16
      • 1970-01-01
      相关资源
      最近更新 更多