如何设置ListPreference的默认值

我需要在活动开始时为ListPreference设置默认值。我试过了,ListPreference.setDefaultvalue("value");但它使列表的firts条目成为默认条目。我需要它,因为我必须检查一个条件并将满足该条件的值设置为默认值,因此我认为无法从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" />

在活动中,我想做这样的事情:

String mycolour;

if (something) {

mycolour="1";

} else {

mycolour="2";

}

ListPreference colour = (ListPreference) findPreference ("colour");

colour.setDefaultValue(mycolour);

但这是行不通的,因为它将默认设置为第一选择。您能解释一下如何将另一个设为默认值吗?谢谢。

回答:

你有没有尝试过:

setValueIndex(int index);

以上是 如何设置ListPreference的默认值 的全部内容, 来源链接: utcz.com/qa/424541.html

回到顶部