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
分享到:
相关推荐
在Android开发中,`ListPreference`是一个非常常用的控件,用于展示一个下拉选择列表,通常用于设置应用的偏好选项。然而,原生的`ListPreference`存在一些限制,例如它不支持添加、修改或删除选项。为了克服这些...
总之,理解并掌握`Preference`和`ListPreference`在Android开发中的使用是至关重要的,这不仅可以提高应用的用户体验,也是解决这类问题的基础。遇到`ListPreference`属性无法使用的问题时,应按照上述步骤逐步排查...
下面我们将详细介绍如何在Android中为 `Fragment` 的 `PreferenceFragment` 使用自定义的 `ListPreference`。 首先,我们需要创建一个自定义的 `ListPreference` 类。这通常涉及到以下步骤: 1. **定义自定义属性*...
在Android开发中,Preference是构建用户界面的一种重要方式,它主要用于创建设置界面,提供开关、选择列表、输入框等常用控件。Preference类是Android框架的一部分,它简化了UI元素的创建和管理,使得开发者可以方便...
在Android应用开发中,为应用程序添加背景音乐是一个常见的需求,特别是在游戏或者音乐相关的应用中。本教程将深入探讨如何在Android中实现这一功能,重点聚焦于`PreferenceActivity`的使用以及如何选择SD卡上的音乐...
在Android开发中,`PreferenceActivity`是一个特殊类型的`Activity`,主要用于创建设置界面。它允许开发者以声明式的方式定义用户界面,类似于XML布局文件中定义视图控件。本实例将深入探讨`PreferenceActivity`及其...
在Android开发中,Preference是用来构建用户设置界面的关键组件。它允许开发者轻松地创建具有开关、选择器、输入框等交互元素的配置界面。本篇文章将深入探讨如何在Android项目中使用Preference,通过实例代码来展示...
在Android开发中,设置界面是应用中不可或缺的一部分,它允许用户根据个人喜好调整应用程序的各种功能。`PreferenceScreen`是Android SDK提供的一种用于构建设置界面的标准组件。本篇将深入探讨`PreferenceScreen`的...
本篇文章将详细讲解如何在Android中使用各种类型的Preference,特别是ListPreference。 首先,我们来看一下ListPreference的使用。ListPreference在Android中用于创建一个下拉列表供用户选择。在Listing 11–1中...
《Android中的Preference Demo详解》 在Android开发中,Preference是一个重要的组件,用于创建用户界面,让用户可以方便地进行设置和偏好选择。Preference Demo是展示如何使用Preference进行UI设计的一个实例,它...
在Android开发中,网络知识是不可或缺的一部分,它涉及到如何高效地与服务器进行数据交互,以及如何处理网络请求的结果。Android提供了多种方式来进行网络操作,包括HTTP请求库(如HttpURLConnection, HttpClient, ...
Preference有多种类型,如CheckBoxPreference、SwitchPreference、ListPreference等,它们分别对应不同的UI控件和用户交互方式。开发者可以通过继承或使用这些类,快速构建自定义设置界面。 此外,Android Settings...
基于Android8.1,在设置-显示下添加一个控制屏幕显示方向的菜单, 包括0°、90°、180°、270°四个方向, 主要是用ListPreference实现菜单显示。 有实现的Java源码。 代码一验证有效。
在Android应用开发中,PreferenceActivity是用于创建设置界面的一个特殊Activity。它允许开发者以XML方式定义用户界面元素,如开关、选择列表等,使得创建设置界面变得更加简洁和规范。本教程将深入探讨如何在...
Android 提供了多种首选项组件,例如 ListPreference、CheckBoxPreference、EditTextPreference、RingtonePreference 等。 8.2.1 首选项的架构 Android 的首选项架构基于 PreferenceScreen 元素,PreferenceScreen...
此DEMO内含基本的android preference framework的简单介绍,包括CheckboxPreference, ...EditTextPreference以及ListPreference。主要探究了一下android 怎么通过使用preference从而达到对用户定制的数据进行保存。
ListPreference - **用途**:提供一个列表供用户选择。 - **属性**: - `android:key`:指定一个唯一标识符。 - `android:title`:显示的标题。 - `android:summary`:显示在标题下方的简短描述。 - 列表项可以...
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...