`
wyk525
  • 浏览: 50054 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

使用PreferenceActivity时,如何获取ListPreference中选中的值

阅读更多
使用PreferenceActivity时,如何获取ListPreference中选中的值
ListPreference中根本就没有什么回调函数可以用
于是,向上一层,把注意力集中于SharedPreferences,
发现有这么个接口:onSharedPreferenceChanged
抱着试试看的态度,实现了该接口,发现此方法可行,先将部分代码分享如下:
package yinger.firewall;

import android.content.SharedPreferences;
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
import android.preference.PreferenceScreen;

public class CallFireWall extends PreferenceActivity implements
        OnSharedPreferenceChangeListener {
    ListPreference lp = null;
    String whiteMode = "1";
    String blackMode = "2";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);
        this.setTitle("Ying_er" + "  Call Safe");
        SharedPreferences prefs = PreferenceManager
                .getDefaultSharedPreferences(this);
        prefs.registerOnSharedPreferenceChangeListener(this);
        lp = (ListPreference) findPreference(getString(R.string.pref_mode_key));
    }

    @Override
    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
            Preference preference) {
        // TODO Auto-generated method stub
        return super.onPreferenceTreeClick(preferenceScreen, preference);
    }
   
    @Override
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
            String key) {
        // TODO Auto-generated method stub
        System.out.println("onSharedPreferenceChanged");
        if (key == getString(R.string.pref_mode_key)){
            System.out.println(lp.getValue());
            if(lp.getValue().equals(whiteMode)){
               
            }
        }
    }
}
注意:该事件需要注册。既:
prefs.registerOnSharedPreferenceChangeListener(this);


分享到:
评论

相关推荐

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

    本教程将深入探讨如何在Android应用中使用PreferenceActivity及其组件。 首先,让我们了解PreferenceActivity的基本概念。PreferenceActivity是Android SDK提供的一种特殊Activity类型,它专门用于展示和处理用户...

    PreferenceActivity简介

    在Android开发中,为应用程序创建自定义设置界面时,开发者经常会用到PreferenceActivity。这篇博客将深入探讨PreferenceActivity的使用方法和相关知识点。 首先,PreferenceActivity是Android SDK提供的一个基类,...

    PreferenceActivity 类的使用,它可以保存设置

    为了在代码中使用PreferenceActivity,我们需要继承PreferenceActivity类,并在onCreate()方法中调用addPreferencesFromResource()方法,传入包含偏好设置的XML资源ID: ```java public class SettingsActivity ...

    android中PreferenceActivity详解

    标题与描述均提及了《Android中PreferenceActivity详解》,这一主题涉及了Android开发中关于用户偏好设置的核心组件——PreferenceActivity的深入解析。以下是基于标题、描述、标签以及部分内容的关键知识点总结,...

    PreferenceActivity

    使用 PreferenceActivity设置个性信息, 参考:android 设置类PreferenceActivity http://blog.csdn.net/xiaobijia/article/details/41479235

    android PreferenceActivity中的组件源码

    android PreferenceActivity中的组件源码~

    Android PreferenceActivity 使用练习

    它的使用方式与`PreferenceActivity`类似,但更易于在现代Android项目中集成。 总结一下,`PreferenceActivity`是Android中构建设置界面的便捷工具。通过XML定义偏好项,结合`addPreferencesFromResource()`加载,...

    Android之PreferenceActivity.doc

    当用户在PreferenceActivity中进行设置更改时,这些更改会被自动保存到对应的SharedPreferences文件中,以便后续读取和使用。开发者可以通过SharedPreferences接口来读取和修改PreferenceActivity中的设置值。 创建...

    preferenceActivity的简单使用

    在本教程中,我们将深入探讨`PreferenceActivity`的使用,包括如何创建、配置以及自定义。 ### 1. `PreferenceActivity`简介 `PreferenceActivity`是Android提供的一个基类,它继承自`Activity`,专门用来显示和...

    继承PreferenceActivity

    描述中提到的博客链接(已省略)可能详细介绍了如何使用`PreferenceActivity`创建自定义设置页面的步骤和技巧。通常,这个过程包括以下几个关键步骤: 1. **创建Preference XML**:首先,你需要在项目的res/xml目录...

    仿IOS的PreferenceActivity界面

    每个Preference都有一个键值对,键用于存储在SharedPreferences中,值则对应用户的选择。 3. **SharedPreferences**:SharedPreferences是Android中用来持久化轻量级数据的接口,通常用于保存应用的配置信息。当...

    PreferenceActivity存储小dome

    3. `ListPreference`的`entries`数组定义了显示在列表中的选项,而`entryValues`数组定义了与每个选项对应的值,这些值会在设置改变时被保存。 在老项目中回顾PreferenceActivity,意味着可能需要考虑兼容旧版本的...

    Android 属性页PreferenceActivity的实现

    在Android开发中,`PreferenceActivity`是用于创建用户设置界面的一种特殊类型的Activity。它使得开发者可以轻松地构建具有各种设置选项的界面,如开关、单选按钮、复选框等,而无需从头编写大量的XML和Java代码。...

    PreferenceActivity用法简介Android X

    PreferenceActivity用法简介 Android X

    自定义PreferenceActivity

    在Android开发中,`PreferenceActivity`是用于创建设置界面的标准组件。它允许开发者通过XML文件定义各种偏好选项,如开关、单选按钮、多选按钮等,并将它们以活动的形式展示给用户。然而,标准的`...

    Android PreferenceActivity

    2. **加载XML布局**:在`PreferenceActivity`中,我们需要使用`addPreferencesFromResource(int resId)`方法来加载XML布局文件。`resId`参数是指向XML布局资源的ID。 3. **交互处理**:`Preference`类会自动处理...

    Android之PreferenceActivity简介

    由于其高度定制性和灵活性,PreferenceActivity在Android开发中被广泛应用。 #### 二、数据存储方式 PreferenceActivity中的数据存储主要依赖于 **SharedPreferences** ,这是一种轻量级的数据存储机制,适用于...

    自定义PreferenceActivity的样式和界面

    在Android开发中,PreferenceActivity是用于创建设置界面的标准组件,它允许开发者以XML方式定义用户界面,然后在活动中展示这些设置项。然而,系统默认的PreferenceActivity样式可能无法满足所有设计需求,这时我们...

Global site tag (gtag.js) - Google Analytics