Preference元素和监听事件
来源:互联网 发布:当前非涉密网络是 编辑:程序博客网 时间:2024/05/18 01:07
安卓程序开发中常用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()
getTitle() setTitle()
getSummary() setSummary()
分析Preference事件:
在PreferenceActivity方法中,一个比较重要的监听点击事件方法为:
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,Preference preference)
说明:当Preference控件被点击时,触发该方法。
参数说明: preference 点击的对象。
返回值: true 代表点击事件已成功捕捉,无须执行默认动作或者返回上层调用链。例如,不跳转至默认Intent。 false 代表执行默认动作并且返回上层调用链。例如,跳转至默认Intent。
在我们继承PreferenceActivity的Activity可以重写该方法,来完成我们对Preference事件的捕捉。
Preference相关的两个重要监听接口。
1) Preference.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的方法独立与其他两种方法的运行。也就是说,它总是会运行。
- Preference元素和监听事件
- Preference 监听点击事件方法
- Android中Preference监听事件
- Android Preference 使用以及监听事件分析
- Preference 三种监听事件说明
- Preference 三种监听事件说明
- android Preference以及监听事件学习
- 如何给元素添加事件监听和取消事件冒泡
- Android中Preference的使用以及监听事件分析
- Android中Preference的使用以及监听事件分析
- Android中Preference的使用以及监听事件分析
- Android中Preference的使用以及监听事件分析
- Android中Preference的使用以及监听事件分析
- Android中Preference的使用以及监听事件分析
- Android中Preference的使用以及监听事件分析
- Preference中比较重要的监听点击事件方法
- Android中Preference的使用以及监听事件分析
- Android中Preference的使用以及监听事件分析
- WeakHashMap
- 批处理xcopy 命令 局域网备份文件道另台主机
- 算法笔记六:使用分治策略执行快速排序
- HTML中select的option设置selected="selected"无效的解决方案
- C# 以JSON数组形式返回数据
- Preference元素和监听事件
- Node.js v0.10.31API手册-DNS
- android使用viewPager和Fragment实现滑动切换activity!
- php mysql PDO使用
- CPU很高分析
- UVA11248 网络扩容(枚举割边扩充)
- MyEclipse无代码提示或代码提示不全
- hdu 1718(Rank)(倒序查找,统计同一种分数的人数)
- Android_开发常用颜色