gpt4 book ai didi

java - 如何设置 ListPreference 的默认值

转载 作者:IT老高 更新时间:2023-10-28 20:34:03 25 4
gpt4 key购买 nike

我需要在 Activity 启动时为 ListPreference 设置默认值。我试过 ListPreference.setDefaultvalue("value"); 但它使列表的第一个条目成为默认值。我需要它,因为我必须检查一个条件并将满足该条件的值设置为默认值,所以我认为它不能从 xml 文件中完成(使用 android:defaultValue)

例如,假设我在 arrays.xml 中有这个值数组:

<string-array name="opts">
<item>red</item>
<item>green</item>
<item>blue</item>
</string-array>

<string-array name="opts_values">
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>

在 PreferenceScreen xml 中:

<ListPreference
android:title="Colour select"
android:summary="Select your favourite"
android:key="colour"
android:entries="@array/opts"
android:entryValues="@array/opts_values" />

在 Activity 中我想做这样的事情:

String mycolour;
if (something) {
mycolour="1";
} else {
mycolour="2";
}
ListPreference colour = (ListPreference) findPreference ("colour");
colour.setDefaultValue(mycolour);

但它不起作用,因为它将第一选择设为默认值。你能解释一下如何将另一个设为默认值吗?谢谢。

最佳答案

您不需要以编程方式处理 ListPreferences 的默认值。您可以在 xml 设置文件中执行此操作。下面是一个例子

<string-array name="opts">
<item>red</item>
<item>green</item>
<item>blue</item>
</string-array>

<string-array name="opts_values">
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>

...

<ListPreference
android:title="Colour select"
android:summary="Select your favourite"
android:key="colour"
android:entries="@array/opts"
android:entryValues="@array/opts_values"
android:defaultValue="2" />

这里我选择了 2 作为默认值。记住 defaultvalue 将是 opts_values 元素。

关于java - 如何设置 ListPreference 的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5197228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com