Preference 监听点击事件方法

Android(12)浅析 偏好设置 Preference(一) 安卓12 Preference源码浅析,自定义Preference 阅读详情
安卓程序开发中常用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的方法独立与其他两种方法的运行。也就是说,它总是会运行。

Android Settings SystemSetting源码解析 项目在做设置相关,但在设置状态的同步和储存,不同列表之前的跳转上一直没法达到最优的想过,所以想看看Android源码中的设置是如何写的,虽然有难度,但慢慢看总能看懂的。 android 9.0 http://androidxref.com/9.0.0_r3/xref/packages/apps/Settings/src/com/android/settings/... 阅读详情

相关推荐

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

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

移动设备软件开发回顾---SharedPreferences

SharedPreference的简单使用

简单点的博客 1232

Python小白也能搞定!用you-get一键下载B站视频合集的保姆级教程

本文为Python新手提供了使用you-get工具一键下载B站视频合集的完整教程。从环境配置、基础下载操作到高级批量下载技巧,详细介绍了如何利用这个开源工具高效获取视频资源,包括解决常见问题和实用优化建议,帮助用户轻松实现离线学习。

weixin_42544663的博客 460

Preference事件

当某个 Preference 的值即将改变时触发。你可以在此监听器中决定是否接受新的值变更。通过这些监听器,开发者可以灵活地响应用户的交互,实现各种定制化的功能和界面更新。

记录一下 510

SpringBoot 中 @RequestMapping 及衍生注解的全面解析与实践

本文全面解析Spring Boot中@RequestMapping及其衍生注解的使用,涵盖核心功能、HTTP方法特定注解(@GetMapping/@PostMapping等)、属性详解(路径/参数/头信息等)以及路径变量处理。文章详细介绍了注解的组合使用、继承特性、版本控制策略等高级应用,并针对405/404等常见错误提供解决方案。通过学习这些注解的规范用法,开发者能够构建符合RESTful风格的API接口,提升代码可读性和可维护性。建议优先使用HTTP方法特定注解,合理规划URL结构,并注意避免路径冲突。

Java&AI小吕布的博客 2037

ROS2多线程处理RTSP视频流避坑指南:OpenCV解码丢帧问题解决方案

本文针对ROS2中处理RTSP视频流时OpenCV解码丢帧的常见问题,提供了专业的解决方案。通过深入分析单线程模型的瓶颈,提出并详细拆解了基于生产者-消费者多线程模型的健壮实现方案,有效分离数据采集与处理,从而显著提升视频流的稳定性和流畅度。

weixin_29199873的博客 168

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

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

xiabo852105的专栏 9481

信息学奥赛一本通高手训练1680:序列

题目 代码 #include<cstdio> #include<iostream> #include<cmath> #define LL long long using namespace std; const LL N = 1400000+7; const LL mod = 1e9+7; int n, t; LL pos[N], sum[N], ans[N]; struct node{ LL ll, rr; }a[N]; int main(){ p

qingfeixueyue的博客 468

Android 自定义Preference 讲解

Andorid 自定义Preference 详细讲解

u012514113的专栏 4187

零件边界线提取处理原理详解

该程序提出了一种高效的点云边界提取方法,通过三阶段处理流程实现零件几何特征的精确提取。首先采用RANSAC算法进行坐标系标准化,包括主平面检测、点云分割和双重旋转对齐。接着使用凹包算法和RANSAC直线拟合提取底面边界。最后通过多方向密度切片分析(Z向100片、X向50片),自动选择高密度切片进行边界提取和直线拟合。算法具有鲁棒性强、处理效率高(支持OpenMP并行计算)和参数可配置等特点,能有效提取零件的几何边界特征,为后续质量检测提供基础。实验结果显示该方法能准确提取零件的多方向边界线。

weixin_45196569的博客 433

爬取B站评论+AI情感分析:Python批量抓数据+BERT正负向分类(全流程)

B站作为年轻群体聚集的内容平台,评论区蕴含海量用户真实态度(如好评、吐槽、中立观点),是情感分析的优质数据源!本文分享完整流程:批量爬取B站视频评论→数据清洗去噪→BERT模型情感分类→可视化分析,基于预训练BERT模型实现高精度正负向判断,新手也能快速复刻情感分析系统! 前置配置(关键!获取B站API访问权限) B站评论通过官方API接口返回,无需复杂解析,只需配置用户Cookie即可正常请求: 2. 完整代码(直接复制运行) 三、使用步骤(5步搞定,新手友好) 步骤1:配置关键参数 打开,在类中修改

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1068

Preference:点击没反应?

Preference:点击没反应? 最近在某应用中加了一个Preference: private Preference mSelect; @Override public void onResume() { ... if(mSelect==null) { mSelect=(Preference)findPreference(KEY_...

wangzhiruiyingmuxt的博客 831

树冠体积计算之体元累加法

因为是自己之前研究的一个方向,就复现了一下论文中的这个方法,在此正好记录一下。 文章目录一、简介二、代码实现(MATLAB)三、小结 一、简介 简而言之,其实就是一句话,即以固定大小的体元模拟不规则的树冠形状。按照论文中的思路主要就是将树冠沿树高方向以 k 为步长进行等距离分段,把每一段树冠的点投影到垂直于树高方向的平面上,再对该平面划分成大小为 k × k 的像元,根据投影到各个像元内点的数量,判断该像元的有效性,统计有效像元的数量 T,则树冠体积为 T 个 k × k × k 的体元之和。如下图所示:

dayuhaitang1的博客 2607

Android Preference初探,另一种布局方式

记得android五大数据存储中有个SharePreferences,其他四种分别是: SQLite数据库 ContentProvider(内容提供者) 文件存储 网络存储 这里简单回顾一下SharePreference是的使用:// 1. 得到sharedPreferences,第一个参数指定SharePreference保存的xml文件的文件名,第二个参数是SharedPreferences模式

宿罪的博客 5686

使用rknn进行facenet部署

修改facenet网络的forward函数代码。

如果想成为中心,那么就到中心去吧。 1044

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

PreferenceActivity点击事件?

Android 的 PreferenceActivity 如何获取具体某个偏好的点击事件? 找了很多关于 ListActivity 跟 Preference 的东西,结果发现添加 Preferecnce 的监听器就够了? Preference preference = (Preference) findPreference(KEY_xx); preference         .setO

world_kun的博客 1302

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

STM32定时器PWM入门:CubeMX配置呼吸灯实战

PWM(脉冲宽度调制)是一种通过调节占空比来等效模拟电压的技术,其原理基于定时器对高低电平的快速切换。在嵌入式开发中,PWM广泛用于LED调光、电机调速和舵机控制等场景。STM32的通用定时器硬件自动输出PWM波形,不占用CPU资源,而CubeMX工具可快速配置预分频、自动重装载和捕获比较寄存器。呼吸灯实验是理解PWM的最佳切入点,通过动态改变占空比实现亮度渐变,直观展示定时器核心概念。本文以STM32F103和HAL库为例,详解从时钟树计算到代码实现的完整流程,帮助读者掌握PWM输出与占空比调节。

weixin_34331102的博客 375

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

android fragment返回值,android – PreferenceFragment :: onPreferenceTreeClick返回值 – 它做什么?...

调用它的代码在Preference#performClick(PreferenceScreen preferenceScreen)中,它执行以下操作:PreferenceManager preferenceManager = getPreferenceManager();if (preferenceManager != null) {PreferenceManager.OnPreferenceTr...

weixin_39872123的博客 685

Android的Preference的使用和监听事件

自己是做系统settings的,所以学习了Preference的用法,这里记录下来供大家参考。 1、基本组成的使用 1.1组织方式(组合控件) PreferenceScreen:最平白和基础的方式 PreferenceCategory:带有层次感的方式 请继续往下看 下面有展示 1.2各组件介绍(单一控件) Preference一般用作设置中,常用的组件就下面四种 组件含义 组件名 ...

HughZhao的博客 5226
上一篇: TreeMap.HashMap,LiskedHashMap的区别
下一篇: android 4种存储方式
Alex_csd
博客等级 码龄14年 1粉丝 2原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值