如何获取 XML 中定义的 ListPreference 的默认值?
-
21-12-2019 - |
题
我如何以编程方式获取 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);
.
和文档
不隶属于 StackOverflow