`

Android ListPreference

阅读更多

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

分享到:
评论

相关推荐

    SimpleCustomListPreference:Android 简单自定义 ListPreference

    在Android开发中,`ListPreference`是一个非常常用的控件,用于展示一个下拉选择列表,通常用于设置应用的偏好选项。然而,原生的`ListPreference`存在一些限制,例如它不支持添加、修改或删除选项。为了克服这些...

    TestPreference修复ListPreference属性无法使用问题

    总之,理解并掌握`Preference`和`ListPreference`在Android开发中的使用是至关重要的,这不仅可以提高应用的用户体验,也是解决这类问题的基础。遇到`ListPreference`属性无法使用的问题时,应按照上述步骤逐步排查...

    Android中Fragmen首选项使用自定义的ListPreference的方法

    下面我们将详细介绍如何在Android中为 `Fragment` 的 `PreferenceFragment` 使用自定义的 `ListPreference`。 首先,我们需要创建一个自定义的 `ListPreference` 类。这通常涉及到以下步骤: 1. **定义自定义属性*...

    Android中Preference的使用以及监听事件分析

    在Android开发中,Preference是构建用户界面的一种重要方式,它主要用于创建设置界面,提供开关、选择列表、输入框等常用控件。Preference类是Android框架的一部分,它简化了UI元素的创建和管理,使得开发者可以方便...

    Android背景音乐设置代码

    在Android应用开发中,为应用程序添加背景音乐是一个常见的需求,特别是在游戏或者音乐相关的应用中。本教程将深入探讨如何在Android中实现这一功能,重点聚焦于`PreferenceActivity`的使用以及如何选择SD卡上的音乐...

    Android PrefereceActivity实例

    在Android开发中,`PreferenceActivity`是一个特殊类型的`Activity`,主要用于创建设置界面。它允许开发者以声明式的方式定义用户界面,类似于XML布局文件中定义视图控件。本实例将深入探讨`PreferenceActivity`及其...

    Android中preference的使用实例代码

    在Android开发中,Preference是用来构建用户设置界面的关键组件。它允许开发者轻松地创建具有开关、选择器、输入框等交互元素的配置界面。本篇文章将深入探讨如何在Android项目中使用Preference,通过实例代码来展示...

    android 设置界面 PreferenceScreen

    在Android开发中,设置界面是应用中不可或缺的一部分,它允许用户根据个人喜好调整应用程序的各种功能。`PreferenceScreen`是Android SDK提供的一种用于构建设置界面的标准组件。本篇将深入探讨`PreferenceScreen`的...

    android各种Preference的使用

    本篇文章将详细讲解如何在Android中使用各种类型的Preference,特别是ListPreference。 首先,我们来看一下ListPreference的使用。ListPreference在Android中用于创建一个下拉列表供用户选择。在Listing 11–1中...

    android Preference Demo

    《Android中的Preference Demo详解》 在Android开发中,Preference是一个重要的组件,用于创建用户界面,让用户可以方便地进行设置和偏好选择。Preference Demo是展示如何使用Preference进行UI设计的一个实例,它...

    android网络知识

    在Android开发中,网络知识是不可或缺的一部分,它涉及到如何高效地与服务器进行数据交互,以及如何处理网络请求的结果。Android提供了多种方式来进行网络操作,包括HTTP请求库(如HttpURLConnection, HttpClient, ...

    Android Settings

    Preference有多种类型,如CheckBoxPreference、SwitchPreference、ListPreference等,它们分别对应不同的UI控件和用户交互方式。开发者可以通过继承或使用这些类,快速构建自定义设置界面。 此外,Android Settings...

    Android8.1-Settings-display里添加控制屏幕旋转方向的菜单.zip

    基于Android8.1,在设置-显示下添加一个控制屏幕显示方向的菜单, 包括0°、90°、180°、270°四个方向, 主要是用ListPreference实现菜单显示。 有实现的Java源码。 代码一验证有效。

    Android软件开发之PreferenceActivity中组件的使用

    在Android应用开发中,PreferenceActivity是用于创建设置界面的一个特殊Activity。它允许开发者以XML方式定义用户界面元素,如开关、选择列表等,使得创建设置界面变得更加简洁和规范。本教程将深入探讨如何在...

    第8章--Android的安全性和首选项.pptx

    Android 提供了多种首选项组件,例如 ListPreference、CheckBoxPreference、EditTextPreference、RingtonePreference 等。 8.2.1 首选项的架构 Android 的首选项架构基于 PreferenceScreen 元素,PreferenceScreen...

    android preference framework demo

    此DEMO内含基本的android preference framework的简单介绍,包括CheckboxPreference, ...EditTextPreference以及ListPreference。主要探究了一下android 怎么通过使用preference从而达到对用户定制的数据进行保存。

    Android之PreferenceActivity简介

    ListPreference - **用途**:提供一个列表供用户选择。 - **属性**: - `android:key`:指定一个唯一标识符。 - `android:title`:显示的标题。 - `android:summary`:显示在标题下方的简短描述。 - 列表项可以...

    精通ANDROID 3(中文版)1/2

    9.1.1 ListPreference  9.1.2 CheckBoxPreference  9.1.3 EditTextPreference  9.1.4 RingtonePreference  9.2 组织首选项  9.3 以编程方式操作首选项  9.4 使用首选项保存状态  9.5 参考资料  9.6...

Global site tag (gtag.js) - Google Analytics