如何获取XML中定义的ListPreference的默认值?

时间:2014-01-10 12:13:35

标签: java android android-preferences listpreference

如何以编程方式获取XML中定义的ListPreference的默认值?

以下是我的ListPreference

的摘要
    <ListPreference
        android:defaultValue="60"
        android:entries="@array/interval_entries"
        android:entryValues="@array/interval_values"
        android:key="interval"
        android:summary="@string/interval_summary"
        android:title="@string/interval_title" />

我已经通过了文档,但我还没有找到办法解决这个问题。也许我忽略了它。

2 个答案:

答案 0 :(得分:0)

对于PreferenceActivity(不推荐使用Fragment),请尝试:

ListPreference lp = (ListPreference) this.findPreference(this.getString(R.string.my_key));
lp.getValue();

其中 my_key 是分配给此ListPreference的键值。注意:此值在strings.xml中定义。如果您使用文字字符串对密钥进行了硬编码,则将 my_key 替换为您为android:key标记指定的字符串。因此,在您的情况下,代码将是:

ListPreference lp = (ListPreference) this.findPreference("interval");
lp.getValue();

答案 1 :(得分:0)

您是否尝试初始设置默认值或将其重置为默认值?无论如何看看:

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

documentation