ListPreference的定义:
<
ListPreference
android:dialogTitle
=
"@string/machine_type_number"
android:key
=
"machine_type_number"
android:entries
=
"
array/entries_color_type"
android:entryValues
=
"
array/entries_value_color_type"
android:title
=
"@string/machine_type_number"
/>
|
要明确两个属性:android:entries,和android:entryValues。前者代表list中要显示的内容,后者代表内容所对应的值,这个值是当有需要的时候用来传递的。这个属性的赋值有两种方式,一种是在资源数组文件中定义,另外一种就是在代码中添加。
第一种方式:定义两个数组,
<
string-array
name
=
"entries_value_color_type"
>
<
item
>
1
</
item
>
<
item
>
2
</
item
>
<
item
>
3
</
item
>
<
item
>
4
</
item
>
</
string-array
>
<
string-array
name
=
"entries_color_type"
>
<
item
>
Blue
</
item
>
<
item
>
Green
</
item
>
<
item
>
Red
</
item
>
<
item
>
Orange
</
item
>
</
string-array
>
|
另一种方式就是在代码中通过ListPreference.setEntries(CharSequence[] entries)和ListPreference.setEntryValues(CharSequence[] entryValues)添加
最后可以设置ListPreference的监听事件:ListPreference.
setOnPreferenceChangeListener(
OnPreferenceChangeListener
mPreferChangeListener
)。
@Override
public
boolean
onPreferenceChange(Preference preference, Object arg1) {
return
false
;
}
|
在方法中就可以实现自己想要进行的操作了。补充下方法中的Object 对象就是你所设定的entryValues的值
以上是自己的一点拙见,如有误导,欢迎指出