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的值
以上是自己的一点拙见,如有误导,欢迎指出