我如何以编程方式获取 a 的默认值 ListPreference 正如它在 XML 中定义的那样?

这是我的片段 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" />

我已经阅读了文档,但还没有找到实现此目的的方法。也许我忽略了它。

有帮助吗?

解决方案

对于 PreferenceActivity(已与 Fragment 一起弃用),请尝试:

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

在哪里 我的钥匙 是分配给此 ListPreference 的键值。笔记:该值定义于 strings.xml. 。如果您使用文字字符串对密钥进行了硬编码,请替换 我的钥匙 与您指定的任何字符串 android:key 标签。因此,在您的情况下,代码将是:

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

其他提示

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

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

文档

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top