【问题标题】:Android: Default preference value not being set from XMLAndroid:未从 XML 设置默认首选项值
【发布时间】:2011-07-02 11:57:58
【问题描述】:

我有一个简单的 Preferences Activity,我通过 XML 填充,将值定义为数组资源。

在应用程序的 MAIN Activity 中,我通过以下方式获得了一个句柄:

mSharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);

在我拥有的唯一首选项(显示设置)的 XML 中,我有以下定义 ListPreference 的 XML:

<ListPreference
        android:title="@string/pref_title_sort"
        android:summary="@string/pref_summary_sort"
        android:key="@string/pref_key_sort"
        android:defaultValue="modified"
        android:entries="@array/sort_order"
        android:entryValues="@array/sort_order_values" />

您可以看到我正在尝试将默认值设置为“修改”,这是在 @array/sort_order_values 中找到的值:

<string-array name="sort_order_values">
    <item>modified</item>
    <item>created</item>
    <item>name</item>
</string-array>

但是,当 Preferences Activity 启动时,默认情况下没有选择任何项目。

我尝试在我的 Activity 中添加以下行,但它没有改变任何内容(其中 pref_main 是定义首选项的 XML 文件):

PreferenceManager.setDefaultValues(this, R.xml.pref_main, false);

任何帮助表示赞赏!

保罗

【问题讨论】:

    标签: android default-value android-preferences


    【解决方案1】:

    也许您在第一次运行应用程序时设置了错误的值(值数组中没有相应的项)。现在 Android 会记住您的第一选择。尝试手动卸载应用程序(菜单>>设置>>应用程序>>管理应用程序>>>>卸载)。这应该会有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-09-28
      • 1970-01-01
      • 2011-05-28
      • 1970-01-01
      • 2012-11-19
      • 2013-11-17
      • 2013-07-24
      • 2013-07-19
      • 2012-04-24
      相关资源
      最近更新 更多