Android设立中的Preferencescreen用法介绍与分析

深入理解Android PreferenceScreen的使用与自定义 Android提供了一系列预定义的偏好项控件,每种都有其特定用途:Preference: 基本的偏好项,可以自定义外观和行为。: 带有复选框的偏好项,适合开/关类型的设置。: 提供一个下拉列表的偏好项,用于设置可选值。: 用于选择铃声的偏好项。: 包含一个输入字段的偏好项,用于输入文本信息。: 通过对话框来选择或输入信息的偏好项。PreferenceActivity是Android较早期版本用于展示偏好设置的Activity类。 阅读详情

Android设立中的Preferencescreen用法介绍与分析

今天主要研究了一下设置中的Preferencescreen应用,它不仅可以作为设置界面显示,而且还能够启动activity,下面主要是对启动activity的介绍. Preferencescreen中启动activity

例如wireless_setting.xml中有如下片段

<PreferenceScreen xmlns:Android="http://schemas.android.com/apk/res/android" 

xmlns:settings="http://schemas.android.com/apk/res/com.seedshope.android">
    <PreferenceScreen
        Android:key="wifi_settings"
        Android:title="@string/wifi_settings"
        Android:summary="@string/wifi_settings_summary" >
        <intent
            Android:action="android.intent.action.MAIN"
            Android:targetPackage="com.android.settings"
            Android:targetClass="com.android.settings.wifi.WifiSettings" />
    </PreferenceScreen>
</PreferenceScreen>

 其中com.Android.settings是工程的包名,com.android.settings.wifi.WifiSettings是要启动的类。
一般情况下,这样就ok了,点击对应的Preference就能够启动对应的activity,然而仅仅这样有时这样,并不一定能够启动对应的activity,因为它与回调函数onPreferenceTreeClick有关,有时候我们会重写这个方法如:

    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
       if ( (preference == mAirplaneModePreference) &&
                (Boolean.parseBoolean(
                    SystemProperties.get(TelephonyProperties.PROPERTY_INECM_MODE))) ) {
            // In ECM mode launch ECM app dialog
           startActivityForResult(
                new Intent(TelephonyIntents.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS, null),
                REQUEST_CODE_EXIT_ECM);
            return true;
        }
        else {
            // Let the intents be launched by the Preference manager
            return false;
       }
    }

 其中WirelessSetting.java中有如上函数,当返回值为true时,你怎么点击Preference都不会跳转到activity的,只有等到它的返回值为false的时候,才可以正常跳转,因为点击某一个Preference的真正实现在Preference.java的performClick函数中如下:

void performClick(PreferenceScreen preferenceScreen) {
        
        if (!isEnabled()) {
            return;
        }
        
        onClick();
        
        if (mOnClickListener != null && mOnClickListener.onPreferenceClick(this)) {
            return;
        }
        
        PreferenceManager preferenceManager = getPreferenceManager();
        if (preferenceManager != null) {
            PreferenceManager.OnPreferenceTreeClickListener listener = preferenceManager
                    .getOnPreferenceTreeClickListener();
            if (preferenceScreen != null && listener != null
                    && listener.onPreferenceTreeClick(preferenceScreen, this)) {
                return;
            }
        }
        
        if (mIntent != null) {
            Context context = getContext();
            context.startActivity(mIntent);
        }
    }

 当点击某个Preference时的调用流程是AdapterView.performItemClick--》PreferenceScreen.onItemClick--》Preference.performClick--》PreferenceActivity.onPreferenceTreeClick,当onPreferenceTreeClick返回true的时候就直接return了,没有走下面启动activity的地方了,因此要使一个Preference能够正常跳转到另外一个activity有两个条件,一是xml里面是否设置正确,第二是调用该xml的java类是否在onPreferenceTreeClick这个函数需要返回false。
本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2011-10/45204.htm

深入Android PreferenceScreen自定义设置界面教程 PreferenceScreen作为Android设置界面的核心组件,它提供了一种快速方便的方法来创建一个用户友好的设置界面。它允许开发者以层次结构的方式来组织设置项,使得用户能够以一种直观的方式浏览和修改应用的设置。PreferenceScreen是Android中用于创建设置界面的一个根容器元素,它定义了一个包含多个Preference元素的屏幕,每个Preference代表一个设置项。PreferenceScreen元素不直接显示内容,而是用来管理子元素。 阅读详情

相关推荐

android 设置界面 PreferenceScreen

android 设置界面偏好设置,里面包括基础用法和自定义Preference举例

Android PreferenceScreen的使用和详解(设置页面)

由于前面说过,Preference状态存储在SharedPreferences中,所以,每个Preference都必须有一个key,这样方便状态存储,如果当前key没有设置,在后期的熟悉操作,可能会存在报错,如果报错key is null,设置一个key即可。PreferenceScreen的用法和layout的类似,都是通过xml文件来管理的,但是PreferenceScreen的布局需要自己去创建。下拉选择,和list的相似,但是list是弹窗。开关,和原来Switch的控件一样使用,.........

1万+

【算法】—前缀和与差分详解

前缀和指一个数组的某下标之前的所有数组元素的和(即数列的前n项求和),前缀和是一种重要的预处理,能够降低算法的时间复杂度,可以快速地求出某一段的和,对于处理区间之间的问题是往往十分高效相比较其他算法而言,前缀和更像是一种解题的技巧,一种优化方式输入一个长度为 n 的整数序列。接下来再输入 m 个询问,每个询问输入一对 l,r 对于每个询问,输出原序列中从第 l 个数到第 r 个数的和5 32 1 3 6 41 21 32 4123453610。

DAY I 的成长之路 6022

【Android进阶篇】Android中PreferenceScreen的作用和详细用法介绍

在这个示例中,我们首先在res/xml目录下创建了一个名为preferences.xml的布局文件,其中定义了一个PreferenceScreen,它包含了三个不同的Preference子项(CheckBoxPreference, EditTextPreference, 和 ListPreference)。1, 创建设置页面:首先,需要在res/xml目录下创建一个xml文件,例如preferences.xml,用于定义PreferenceScreen和其子项。

jiangchaobing_2017的博客 2503

别再套用星形公式了!三角形接法PMSM的FOC控制,扇区判断与作用时间推导全解析

本文深入解析三角形接法永磁同步电机(PMSM)的FOC控制技术,重点探讨30度相位差对SVPWM扇区判断与电压矢量作用时间的影响。通过数学推导与实验验证,详细讲解修正后的扇区划分规则、作用时间计算公式优化方法,并提供可直接移植到STM32的代码实现,帮助工程师解决三角形接法特有的相电流重构与同步采样难题。

weixin_30689307的博客 469

避开这些坑!baostock获取股票数据时最容易犯的5个错误(Python实战)

本文针对使用Python和baostock库获取股票历史数据时常见的五大陷阱,提供了实战解决方案。重点剖析了登录状态验证、参数配置、数据解析、批量操作效率及数据一致性校验等关键环节,帮助开发者构建稳健高效的数据获取流程,避免因细节疏忽导致的数据错误或性能瓶颈。

websocket5live的博客 1441

android开发之PreferenceScreen使用详解

是在惭愧,学习Android也有一段时间了,今天才是第一次接触PreferenceScreen。记录下来,与大家分享。 本文参考:http://lovezhou.iteye.com/blog/1020361 PreferenceScreen使用步骤: 1.先在res文件夹中新建一个xml文件夹,用来存放preferences.xml文件 preferences.xml Pre

奋斗之路 2万+

Vue3 - 详细实现接入使用海康威视监控云端显示及控制功能,网站集成安装海康监控及实时监控显示、回放、放大缩小画面、视频画面截图、截屏抓拍、摄像头控制,实时推流及播放器解决延迟卡顿等问题(详细代码)

vue3,nuxt3,海康威视,海康监控,摄像头监控,实时监控画面,海康插件,视频播放,回放,视频流地址,取流协议,视频sdk播放,hik,rtsp,rtmp,hls,ws,网站,网页,h5页面,后台管理系统,vue3对接海康监控设备,无法连接,报错,vue3对接海康处理接口认证规则,监控实时预览和回放功能,海康api接口,安全认证,海康开放平台,官方文档,播放海康摄像头的监控视频,海康实时监控播放详细步骤,web,黑屏,特别卡不流畅怎么办,解决无法推流,录像,连接不上,vue3,海康,vue海康视频监控,

🏆 前端领域优质创作者 1万+

Android设置中的Preferencescreen用法介绍与分析

使用PreferenceScreen之前简单的介绍一下 , PreferenceScreen它不仅可以作为设置界面显示,而且还能够启动activity 以及内嵌View 和用layout方式一样,代码很简单。和以往界面最大的区别是,我们对checkbox进行选择或者对ringtone进行选择后,这个选择结果是被保留的,当我们退出actitvity后再次进入,上次的选项依然保留,我们重新向模

momocsdn 6135

dolphinscheduler集群服务一键安装启动实现流程剖析

通过以上分析我们基本梳理清楚了整个dolphinscheduler项目的一键安装启动逻辑, 我们现在在通过一张图正好理一下整个实现流程。关于一键停止集群服务及一件查询集群各个角色服务实例运行状态的实现也都在stop-all.sh/status-all.sh及dolphinscheduler-daemon.sh这三个脚本中, 有兴趣自行研究。写这篇文章的核心目的不仅在于给大家分享如何优秀的开源项目的一键安装部署的实现过程。

最爱嫣夜来 1207

一文读懂AI协同办公领域发展和趋势

协同办公,又称OA,是指企业内部或外部各类人员之间利用信息技术来进行协作工作的一种形式。这种协作工作既可以由直接员工进行,也可以来自外部的咨询机构、合作伙伴或联营企业。协同办公的优势在于可以对资源进行有效管理和配置,各部门之间可以建立良好的协作关系,跨部门更好地实现资源共享。

女王の专属领地 2363

android设置中的Preferencescreen用法介绍与分析

<br />今天主要研究了一下设置中的Preferencescreen应用,它不仅可以作为设置界面显示,而且还能够启动activity,下面主要是对启动activity的介绍<br /> 1. Preferencescreen中启动activity<br /> 例如wireless_setting.xml中有如下片段<br /><br /> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"<br /

xiaoskery的专栏 5万+

ABAP 后台作业里的消息机制:把 MESSAGE 写对,避免作业莫名取消

SAP后台作业消息处理机制解析 本文深入剖析了SAP系统中后台作业的消息处理机制,揭示了前台与后台执行环境的关键差异。核心发现包括: 后台作业对消息的处理规则: 所有消息写入Job log而不显示 根据消息类型决定是否继续执行 W警告在列表处理阶段会被自动转为E错误 关键异常处理: 通过error_message可捕获E/A类型消息 A类型消息会触发隐式数据库回滚 未被捕获的E/A消息将导致作业中断 实用解决方案: 将业务提示改为S或I类型 使用DISPLAY LIKE保持前台体验 通过error_mess

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2219

Android 首选项框架及PreferenceScreen,PreferenceActivity,PreferenceFragment的用法与分析

前言       《Android 4 高级编程(第3版)》第7章第5节讲到了首选项框架和PreferenceActivity概述等内容,因为第一次见到PreferenceScreen,还没用过,所以心情难免有点小激动。那google官方为什么要出这么个东东,它又有什么好处呢?让我们带着这些个问题,一起去进行探索吧!提纲这篇文章我们会从以下几个知识点进行学习: PreferenceScreen Pr

死磕到底 3320

SAP 批次管理

批次管理: 业务场景: 批次常用于:采购、生产、SD等: 1、先进先出,先入库的先出库(如何实现),基于入库时间来自动确定出库策略。 2、追塑:基于批次进行产品质量追溯 例如订单MTO ---> PP ----> MM(批次关联)。SO—>PP工单 --> 预留 --> 发料(基于批次A\B\C)-->产成品入库-->批次入库D--> ...

willieyuan的博客 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

设置中的Preferencescreen用法介绍与分析

<br />设置中的Preferencescreen不仅可以作为设置界面显示,而且还能够启动activity,下面主要是对启动activity的介绍<br />1. Preferencescreen中启动activity<br />例如wireless_setting.xml中有如下片段<br /><PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"<br />xmlns:settings="http://s

Gabriel的专栏 7221

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Android Settings应用 PreferenceScreen 条目隐藏实现和简单分析

Android 原生设置Settings应用很多界面都是使用xml的 PreferenceScreen 形式进行显示,PreferenceScreen 里面包含很多条目,如果要隐藏某个条目就要修改xml或者Java代码,有些情况修改xml是无效的,修改Java代码才有作用。本文简单记录一下Settings PreferenceScreen 某个条目隐藏实现。网上百度到的像View那样隐藏item的代码肯定是不对的。上面 Preference 代码的显示和隐藏使用的是View的那套。

wenzhi的博客 2500

Statistics and Machine Learning Toolbox

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

AccountsAndSyncSettings源码里的Preferencescreen用法介绍与分析

今天主要研究了一下设置中的Preferencescreen应用,它不仅可以作为设置界面显示,而且还能够启动activity,下面主要是对启动activity的介绍 1. Preferencescreen中启动activity 例如wireless_setting.xml中有如下片段 xmlns:settings="http://schemas.android.com/apk/res/

mengweiqi33的专栏 1299

android设置中的Preferencescreen使用方法介绍与分析

今天主要研究了一下设置中的Preferencescreen应用,它不仅可以作为设置界面显示,并且还可以启动activity,以下主要是对启动activity的介绍 1. Preferencescreen中启动activity 比如wireless_setting.xml中有例如以下片段 &lt;PreferenceScreen xmlns:android="http://schema...

weixin_33704234的博客 247

android 定制PreferenceScreen

在使用PreferenceActivity的时候,布局文件的格式一般是这样的: view plaincopy to clipboardprint? PreferenceCategory          android:title="@string/launch_preferences">                 preferences.  If running

JackieGemini 2341

Android PreferenceScreen和CheckBoxPreference的用法

最近项目里需要修改Android Settings源码,添加自己的功能,需要用到如下两个 PreferenceScreen和CheckBoxPreference 网上的几个博客很有用,分享给大家 http://blog.youkuaiyun.com/xfks55/article/details/6528269 http://blog.youkuaiyun.com/androidbluetooth/articl

Jumping的专栏 3291
上一篇: 一个panic bug的分析过程(一)
下一篇: 基于匹配模式的字符串替换
longkg
博客等级 码龄18年 9粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值