如何以编程方式获取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" />
我已经通过了文档,但我还没有找到办法解决这个问题。也许我忽略了它。
答案 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);