调用它的代码在

Preference#performClick(PreferenceScreen preferenceScreen)中,它执行以下操作:

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);

}

返回true将立即返回,而返回false将检查是否为此PreferenceScreen和start the specified Activity设置了Intent.

如果返回super.onPreferenceTreeClick(preferenceScreen,preference),您还将导致PreferenceFragment中的以下代码运行

if (preference.getFragment() != null &&

getActivity() instanceof OnPreferenceStartFragmentCallback) {

return ((OnPreferenceStartFragmentCallback)getActivity()).onPreferenceStartFragment(

this, preference);

}

return false;

这个检查是否有Fragment to be shown.如果不是Preference将寻找一个意图.

TLDR

首选项可以启动Intents或Fragments.返回值的含义是

> true:没有任何反应,片段和意图都会被忽略

> false:忽略片段,执行意图

> super.onPreference ..:首先尝试片段,然后尝试第二个

返回虚假;或者返回super.onPreferenceTreeClick(…)通常应该是正确的返回.返回值的含义大致是“如果存在则按意图启动活动?”.如果您已指定了intent但又不想启动该活动,则应返回true.在大多数其他情况下并不重要,因为如果您指定了该意图,则很少处理点击.

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

  1. android fragment 管理器,Android Fragment 與 Fragment管理器

    Android Fragment 與 Fragment管理器 首先談談Fragement的需求 過去開發人員認為界面之間的跳轉只需要使用多個activity組成就行了: 例如下圖中,在Activity ...

  2. android fragment动态添加,Android动态添加Fragment

    效果图如下: 项目结构图如下: Fragment1: package com.demo.dongtaifragment; import android.app.Fragment; import and ...

  3. Android编程权威指南笔记3:Android Fragment讲解与Android Studio中的依赖关系,如何添加依赖关系

    Android Fragment 当我在学习时,了解了Fragment词汇 Fragment是一种控制器对象,我就把所了解的简单说一下.activity可以派fragment完成一些任务,就是管理用户 ...

  4. android fragment传递数据,Android 两个Fragment之间传递数据实例详解

    Android 两个Fragment之间如何传递数据 FragmentA启动FragmentB,做一些选择操作后,返回FragmentA,需要把FragmentB里面选择的数据传回来.有什么办法? F ...

  5. android fragment activity 交互,Android基础之Fragment与Activity交互详解

    今天继续讲解Fragment组件的特性,主要是跟Activity的交互和生命周期的关系,我们前面已经说过Fragment是依赖于Activity的,而且生命周期也跟Activity绑定一起.下面我们看 ...

  6. android fragment 设置透明,Android透明DialogFragment

    我有一个对话框片段,当WidgetConfig活动正在运行时显示.该对话框显示用户可以选择某些项目的列表.我希望这个对话框是透明的,这样你就可以在对话框的背景中看到主屏幕.这正是我目前在WidgetC ...

  7. Android Fragment 基本介绍

    Android Fragment 基本介绍 Android Fragment 基本介绍 Fragment Android是在Android 3.0 (API level 11)开始引入Fragment ...

  8. Android Fragment 简单实例

    Android上的界面展示都是通过Activity实现的.Activity实在是太经常使用了.我相信大家都已经很熟悉了,这里就不再赘述. 可是Activity也有它的局限性,相同的界面在手机上显示可能 ...

  9. android 函数返回string,Android应用开发之android 对话框对于返回值的处理方法

    本文将带你了解Android应用开发之android 对话框对于返回值的处理方法,希望本文对大家学Android有所帮助. android对话框是异步的,因此无法获得其返回值. 例如: 我们给出一个提 ...

最新文章

  1. C++ queue 详细介绍
  2. STM32之option bytes踩坑记录
  3. java servlet接口开发_servlet三种实现方式之一实现servlet接口
  4. 好好珍惜今生,不要期待来世……
  5. mysql order by按照汉字拼音进行排序
  6. httpd的三种模式比较
  7. 区块链入门与去中心化应用实战 之一 第3章 区块链技术核心原理实现
  8. Xftp5如何设置默认的文件夹
  9. jQuery Ajax上传文件
  10. python 中的数据类型
  11. linux安装jdk8
  12. K8S集群Calico网络组件报错BIRD is not ready: BGP not established with
  13. 【日常科普】浏览器网页视频自定义倍速播放(无需任何插件)
  14. MVS同时读取多个二维码
  15. 使用网络调试助手时,踩坑
  16. AES攻击方法 :差分密码分析 boomerang attack飞去来器攻击
  17. 清华大学迎来中国首个原创虚拟学生华智冰:智商、情商双高,颜值出众
  18. 23 种设计模式详解(全23种)
  19. Mac ssh远程登录腾讯云的解决方案
  20. win11登不上微软账号

热门文章

  1. 浪漫的情侣头像 | 太爱了(文末赠书)
  2. 上海哪家券商两融利率最低?能提供量化交易软件ptrade和QMT?
  3. ffmpeg分片 m3u8以及视频截取
  4. Python深度学习-U1:什么是深度学习
  5. 纺织行业MES系统解决方案
  6. 【探花交友】学习MongoDB快速入门上手
  7. 华南理工计算机考研王道论坛,复习详尽攻略:梦圆华工中探花
  8. 计算机无法识别显示器,usb显示器为何显示不出来 usb显示器显示不出来解决方法...
  9. 广告创意文案写作,平面广告文案写作,AI智能写作-写作机器人平台
  10. 绁炵粡缃戠粶杈撳叆鍥剧墖澶у皬