`

listpreference

 
阅读更多
MyPreferencesActivity.java
package com.example.a;

import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
import android.util.Log;

/**
 * @description 有关首选项preferences的研究
 * @author chenzheng_java
 * @since 2011/03/29 继承了PreferenceActivity我们可以方便的对preference进行操作。
 *        例如可以通过getPreferenceManager获取首选项管理器
 *        那,我们可不可以不继承PreferenceActivity呢?当然可以,你还记得不记得,实际上Activity类中
 *        就有个SharedPreferences getSharedPreferences(String name, int
 *        mode)方法呢,我们通过它
 *        也可以对preference进行操作。当然了,如果我们不继承PreferenceActivity的话,那么我们就要手动的
 *        对数据进行保存了。而不是跟现在一样,会自动的根据你的选择项进行数据保存。
 *        那么,preference在这里是怎么样进行自动保存的呢,答案很简单
 *        ,那就是在addPreferencesFromResource方法的具体实现中!
 */
public class MyPreferencesActivity extends PreferenceActivity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		addPreferencesFromResource(R.xml.mylistpreference);
		/**
		 * getPreferenceManager返回首选项管理器对象
		 */
		PreferenceManager manager = getPreferenceManager();
		// 根据android:key中指定的名称(相当于id)来获取首选项
		ListPreference listPreference = (ListPreference) manager.findPreference("myListPreference");
		Log.i("存储的值为", "" + listPreference.getValue());
	}
}

res/xml/mylistpreference.xml
<?xml version="1.0" encoding="utf-8"?>
<!--
对于该文件需要注意以下几点
第一:位置。该文件的位置是在res/xml/下的。
第二:格式,PreferenceScreen为根标签,ListPreference为子标签
第三:标签属性含义
android:key 唯一标识符,和android:id相类似,PreferenceManager可以以其为参数通过findPreference获取指定的preference
android:title 整个屏幕的标题
android:summary 选项的简单说明
android:entries 弹出的对话框中,列表显示的文本内容,注意哦,这里指定的是一个数组哦
android:entryValues 与android:entries相对应的值
android:defaultValue 当对应值不存在时的默认值
android:dialogTitle 弹出的对话框中的标题信息

-->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    android:key="screen_list"
    android:summary="说明摘要"
    android:title="标题" >

    <ListPreference
        android:defaultValue="@array/list_entries_value2"
        android:dialogTitle="dialogTitle"
        android:entries="@array/list_entries"
        android:entryValues="@array/list_entries_value"
        android:key="myListPreference"
        android:summary="说明摘要"
        android:title="标题" >
    </ListPreference>

</PreferenceScreen>

values/arrays.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string-array name="list_entries">
        <item>山东</item>
        <item>福建</item>
        <item>北京</item>
        <item>河北</item>
    </string-array>
    <string-array name="list_entries_value">
        <item>shandong1</item>
        <item>fujian1</item>
        <item>beijing1</item>
        <item>hebei1</item>
    </string-array>
    <string-array name="list_entries_value2">
        <item>shandong2</item>
        <item>fujian2</item>
        <item>beijing2</item>
        <item>hebei2</item>
    </string-array>

</resources>
分享到:
评论

相关推荐

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

    标题"TestPreference修复ListPreference属性无法使用问题"表明存在一个关于`ListPreference`的故障,可能表现为无法显示列表、无法保存用户选择或者在界面中显示异常。这个问题可能是由于多种原因造成的,包括但不...

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

    `PreferenceFragment` 是 `Fragment` 的一个子类,专门用于展示用户设置界面,通常包含各种`Preference` 类型,如 `CheckBoxPreference`, `ListPreference`, `EditTextPreference` 等。`ListPreference` 是一个特殊...

    SimpleCustomListPreference:Android 简单自定义 ListPreference

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

    Android背景音乐设置代码

    - 创建一个`res/xml/preferences.xml`文件,定义一个`ListPreference`,用于展示SD卡上的音乐文件列表。 - 在`ListPreference`的`entries`属性中填写音乐文件的名称,`entryValues`属性则保存对应的文件路径。 2....

    android各种Preference的使用

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

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

    Preference家族包括多种类型,如CheckBoxPreference(复选框)、SwitchPreference(开关按钮)、EditTextPreference(文本输入框)、ListPreference(列表选择)等。每种类型对应不同的用户交互方式,开发者可以根据...

    Android PrefereceActivity实例

    ListPreference listPref = (ListPreference) preference; int index = listPref.findIndexOfValue(listPref.getValue()); String selected = listPref.getEntries()[index].toString(); // 处理用户选择 } ...

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

    PreferenceScreen 元素可以包含多个首选项项目,每个首选项项目都可以是 ListPreference、CheckBoxPreference、EditTextPreference 或 RingtonePreference 等类型。 8.4 本章小结 本章讨论了 Android SDK 的两个...

    Android软件开发11-12[整理].pdf

    在Android开发中,PreferenceActivity配合一系列的Preference子类,如CheckBoxPreference、EditTextPreference、ListPreference和RingtonePreference,可以轻松构建各种常见的设置选项。以下是对这些组件的详细介绍...

    Android Preference组件使用

    Preference主要实现一些配置数据,一些我们上次...Preference组件有ListPreference,EditTextPreference,CheckBoxPreference和SwitchPreference,相对于View中的ListView,EditText,CheckBox,Switch和RingtonePreference .

    Android中preference的使用实例代码

    通过继承或扩展Preference,我们可以创建各种类型的偏好设置,如开关按钮(CheckBoxPreference)、单选按钮(ListPreference)和文本输入框(EditTextPreference)等。 二、添加Preference到布局 首先,我们需要在...

    如何制作程序设置窗体

    Preference技术提供了一些专门用于设置功能的控件,例如PreferenceActivity,CheckPreference,EditTextPreference,ListPreference,以及PreferenceScreen。这些控件都是为了方便设置项的展示和用户交互而设计的。...

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

    &lt;ListPreference&gt;标签包括entries(显示的列表项)和entryValues(对应的值)属性。 6. **DialogPreference**: 这是一个抽象类,它是所有弹窗式偏好项的基础。比如,前面提到的EditTextPreference和ListPreference...

    PreferenceActivity存储小dome

    例如,可以包含`CheckBoxPreference`(复选框)、`SwitchPreference`(切换开关)、`EditTextPreference`(文本输入)和`ListPreference`(列表选择)等。 ```xml android:key="checkbox_preference" android:...

    android网络知识

    在上述例子中,`flightoptions.xml`文件定义了一个ListPreference,包含了机票排序选项。`android:entries`指定显示给用户的文本,而`android:entryValues`则对应实际保存的值。当用户在列表中选择一项时,选择的...

    counterpref-源码.rar

    `ListPreference`维护了一个选项列表,当用户选择不同项时,会更新对应的值并保存到SharedPreferences中。 3. `EditTextPreference`:用于输入文本的偏好设置。它包含一个`EditText`,用户可以输入数据,输入的数据...

Global site tag (gtag.js) - Google Analytics