ListPreference相当于windows的下拉列表框,提供用户可选项和默认选项。要想在Android下定义一个这样的ListPreference,执行如下步骤:

1.创建一个描述选项的XML配置文件,在/res/xml/下定义对应的preference文件。例如:

<?xml version="1.0" encoding="utf-8"?>  <!-- This file is /res/xml/flightoptions.xml -->  <PreferenceScreen  xmlns:android="http://schemas.android.com/apk/res/android"  android:key="flight_option_preference"  android:title="@string/prefTitle"  android:summary="@string/prefSummary">  <ListPreference  android:key="@string/selected_flight_sort_option"  android:title="@string/listTitle"  android:summary="@string/listSummary"  android:entries="@array/flight_sort_options"  android:entryValues="@array/flight_sort_options_values"  android:dialogTitle="@string/dialogTitle"  android:defaultValue="@string/flight_sort_option_default_value" />  </PreferenceScreen>  

2.创建对应的现实和持有该Preference的Activity,该Activity扩展了android.preference.PreferenceActivity类,然后使用addPreferencesFromResource()添加资源。

public class FlightPreferenceActivity extends PreferenceActivity   {   @Override  protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   addPreferencesFromResource(R.xml.flightoptions);   }   }  

下面是xml各属性项的解释:

属性 描述
android:key 选项的字符串键值(你可以在程序中使用它指向选项)
android:title 选项标题
android:summary 选项简短描述
android:entries 列表中选项的字符串
android:entryValues 定义每个选项的键值或值
android:dialogTitle 对话框的标题(当视图作为模式对话框调用时显示)
android:defaultValue 默认列表值

下面需要定义对应的选项,值等内容:

<?xml version="1.0" encoding="utf-8"?><!-- This file is /res/values/arrays.xml --><resources><string-array name="flight_sort_options"><item>Total Cost</item><item># of Stops</item><item>Airline</item></string-array><string-array name="flight_sort_options_values"><item>0</item><item>1</item><item>2</item></string-array></resources>

<?xml version="1.0" encoding="utf-8"?><!-- This file is /res/values/strings.xml --><resources><string name="app_name">Preferences Demo</string><string name="prefTitle">My Preferences</string><string name="prefSummary">Set Flight Option Preferences</string><string name="flight_sort_option_default_value">1</string><string name="dialogTitle">Choose Flight Options</string><string name="listSummary">Set Search Options</string><string name="listTitle">Flight Options</string><string name="selected_flight_sort_option">selected_flight_sort_option</string><string name="menu_prefs_title">Settings</string><string name="menu_quit_title">Quit</string></resources>

通过调用函数Preference android.preference.PreferenceActivity.findPreference(CharSequence key);获取对应的选择框。例如

Preference selectFlightlist = findPreference(getString(R.string.selected_flight_sort_option));

比如更改selectFlightlist的概述,可用以下函数void android.preference.Preference.setSummary(CharSequence summary)

selectFightlist.setSummary("选择飞行列表");

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/buaalei/archive/2010/11/25/6036052.aspx

更多相关文章

  1. Android中实现浮动选项框源码
  2. android选项卡
  3. android 自定义标题栏和自定义下拉选项PopupWindow
  4. Android 使用Vitamio打造自己的万能播放器(6)――在线播放(播放列表
  5. Android字符串进阶之三:字体属性及测量(FontMetrics)
  6. Android魔术(第五弹)—— 一步步实现滑动折叠列表

随机推荐

  1. Android(安卓)封装http请求的工具类
  2. android 監聽系統屬性變化的方法
  3. Android常用的工具类-收藏用
  4. Android(安卓)单位
  5. Android使用HttpURLConnection提交数据
  6. android 定时发送短信
  7. android坐标
  8. Android三种实现定时器的方法
  9. Android(安卓)购物车(精仿)可删可全选与反
  10. android 4.3之前的版本 播放hls获取不到