文档章节

Preference中比较重要的监听点击事件方法

欧吧在线
 欧吧在线
发布于 2015/02/11 14:36
字数 849
阅读 23
收藏 0

安 卓程序开发中常用Preference布局结构来做程序的设置项。Android系统会将Preference元素的值存储在 sharedPreference文件中,方便了数据的管理。该文件存放路径位DDMS视图下data/data/[packgename] /shared_prefs/文件下,命名约定为:packagename_preferencse.xml。Preference的优点在于布局界面的 可控性和高效率以及可存储值的简洁性。

      获取preferences可以通过三种方式:
       一、getPreferences():可以获取同一activity中的preference;
       二、getSharedPreferences():可以获取映用级别的preferences(),在这个例子中由于我们封装在同一app中,也可以使 用SharePreferences prefs = getSharedPreferences("com.wei.android.learning_preferences" ,0);其中第一个参数name的格式是<package_name>_preferences;
       三、getDefaultSharedPreferences():

    Preference的Activity继承PreferenceActivity,然后在onCreate()方法中通过addPreferencesFromResource(R.xml.custom_preference) (我们自定义的Preference 布局)。

  Preference元素的通用XML Attributes说明:    

android:key : 每个Preference控件独一无二的”ID”,唯一表示此Preference。          

android:defaultValue : 默认值。 例如,CheckPreference的默认值可为”true”,默认为选中状态;ditTextPreference的默认值可为”110” 。

android:enabled :表示该Preference是否可用状态。     

android:title :每个Preference在PreferenceScreen布局上显示的标题——大标题

 android:summary : 每个Preference在PreferenceScreen布局上显示的标题——小标题(可以没有)

 android:persistent:表示Preference元素所对应的值是否写入sharedPreferen文件中,如果是true,则表示写入;否则,则表示不写入该Preference元素的值。

android:dependency:表示一个Preference(用A表示)的可用状态依赖另外一个Preference(用B表示)。B可用,则A可用;B不可用,则A不可用。

android:disableDependentsState:与android:dependency相反。B可用,则A不可用;B不可用,则A可用。

常用的方法则包括:  getKey()        setKey()

                              getSummary()        setSummary()

                              getText()        setText()

重点:分析Preference事件

 

   PreferenceActivity方法中,一个比较重要的监听点击事件方法为:

             publicbooleanonPreferenceTreeClick(PreferenceScreen preferenceScreen,Preference preference)          

 说明:当Preference控件被点击时,触发该方法。

 参数说明: preference   点击的对象。

返回值:   true  代表点击事件已成功捕捉,无须执行默认动作或者返回上层调用链。例如,不跳转至默认Intent。false 代表执行默认动作并且返回上层调用链。例如,跳转至默认Intent。

     在我们继承PreferenceActivity的Activity可以重写该方法,来完成我们对Preference事件的捕捉。

Preference相关的两个重要监听接口。

   1Preference.OnPreferenceChangeListener     该监听器的一个重要方法如下:

        boolean onPreferenceChange(Preference preference,Object objValue)

 说明:  当Preference的元素值发送改变时,触发该事件。

返回值:true  代表将新值写入sharedPreference文件中。false 则不将新值写入sharedPreference文件

  2 Preference.OnPreferenceClickListener。该监听器的一个重要方法如下:

      publicbooleanonPreferenceClick(Preference preference)

说明:当点击控件时触发发生,可以做相应操作。

 那么当一个Preference控件实现这两个接口时,当被点击或者值发生改变时,触发方法是如何执行的呢?事实上,

 它的触发规则如下:

      1 先调用onPreferenceClick()方法,如果该方法返回true,则不再调用onPreferenceTreeClick方法 ;

              如果onPreferenceClick方法返回false,则继续调用onPreferenceTreeClick方法。

          2 onPreferenceChange的方法独立与其他两种方法的运行。也就是说,它总是会运行。


本文转载自:http://cache.baiducontent.com/c?m=9d78d513d99e1ded18bac0294d418b374e05da30608287027fa5ce14d1240c1...

欧吧在线
粉丝 0
博文 32
码字总数 4007
作品 0
沈阳
私信 提问
Preference控件的使用

重点:分析Preference事件 ★在PreferenceActivity方法中,一个比较重要的监听点击事件方法为: public booleanonPreferenceTreeClick (PreferenceScreen preferenceScreen, Preference pre...

Jamsm
2015/12/16
87
0
Android中Preference的使用以及监听事件分析

在Android系统源码中,绝大多数应用程序的UI布局采用了Preference的布局结构,而不是我们平时在模拟器中构建应用程序时使用的View布局结构,例如,Setting模块中布局。当然,凡事都有例外,F...

墨梅
2014/03/24
1K
1
android Preference 基础讲解

在Android系统源码中,绝大多数应用程序的UI布局采用了Preference的布局结构,而不是我们平时在模拟器中构建应用程序时使用的View布局结构,例如,Setting模块中布局。当然,凡事都有例外,F...

张林思密达
2015/11/19
43
0
Android Preference使用

Android Preference经常使用在例如设置的功能,Android提供preference这个键值对的方式来处理这种情况,自动保存这些数据,并立时生效,这种就是使用android sharedpreferences方式进行保存的...

张林思密达
2015/11/19
146
0
Android实现微信自动抢红包

Android实现微信自动抢红包 简介 本文介绍微信自动抢红包的实现方法,主要实现以下几个功能: 自动拆开屏幕上出现的红包 处于桌面或聊天列表时接收到红包信息时自动进入聊天界面并拆红包 日志...

oden
2016/08/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

重新开始学Java——反射

概念 reflection:自省 反射:镜子可以反射阳光一个java类 或 对象 通过照"镜子"来认知自己 Java语言中是怎么实现照镜子? java.lang.reflect 包 提供了"照镜子"API(应用程序接口) 如果要...

大家都是低调来的
22分钟前
6
0
爬取720万条城市历史天气数据

内容爬虫完毕,校验完毕,缺失信息暂未统计。总数据720万,地区3200个,年份从2011-2019,大小950Mb,原始数据已丢失,需要的朋友可以自己运行脚本挂一晚上。中间遇到了很多坑,有机会我再写...

八音弦
26分钟前
15
0
python的字典类型

1、新建字典 通过键值对 dict_1 = {'a':1,'b':2,'c':3} 通过dict()函数 list_1 = ['adam', 'bob', 'cathy', 'david', 'emma'] list_2 = [1,2,3,4,5] dict_2 = dict(zip(list_1,list_2)) 2、字......

davidwbnu
28分钟前
5
0
springcloud vue.js 前后分离 activiti工作流

本商品为 :springcloud + Springboot 微服务\分布式 工作流 前后分离 + 跨域 版本 (权限控制到菜单和按钮) 后台框架 :springcloud Greenwich.SR1 + springboot 2.1.4 + activiti6.0.0 + ...

java框架开发者
34分钟前
11
0
【jQuery基础学习】07 jQuery表单插件-Form

本文转载于:专业的前端网站➦【jQuery基础学习】07 jQuery表单插件-Form 作用:jQuery Form插件的作用是为了让我们可以很方便地用ajax的方式提交表单,从而使我们提交表单的时候页面不用进行...

前端老手
43分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部