Android~Fragment 中的常用方法 isAdded()、isVisible()、isHidden()、isRemoving()、isResumed()、 isInLayout() 等详解

【BLE系列-第六篇】GATT解析:属性、特征、描述符的逻辑关系 本文系统介绍了BLE协议中的ATT和GATT机制。ATT以"属性"为基本数据单元,包含UUID、Handle、权限和Value四个要素。GATT则在ATT基础上构建了服务、特征和描述符的层次结构:服务(UUID:0x2800/0x2801)通过声明属性标识,特征声明(UUID:0x2803)指向特征值(UUID:0x2Axx或自定义),描述符(UUID:0x2900~0x290F)提供附加信息。GATT复用ATT发现机制,通过定义特定UUID语义实现服务发现和特征管理。这种设计使BLE设 阅读详情

原文:https://blog.youkuaiyun.com/it666dhw/article/details/80837671

1. public final boolean isAdded()

   如果该Fragment对象被添加到了它的Activity中,那么它返回true,否则返回false。

    2. public final boolean isDetached()

    如果该Fragment已经明确的从UI中分离,那么它返回true。也就是说,在该Fragment对象上使用FragmentTransaction.detach(Fragment)方法。

*该方法在API Level 13中被引入。

    3. public final boolean isHidden()

    如果该Fragment对象已经被隐藏,那么它返回true。默认情况下,Fragment是被显示的。能够用onHiddenChanged(boolean)回调方法获取该Fragment对象状态的改变,要注意的是隐藏状态与其他状态是正交的---也就是说,要把该Fragment对象显示给用户,Fragment对象必须是被启动并不被隐藏。

    4.  Public final boolean isInLayout()

    如果布局通过<fragment>标签被包含在Activity层次树中,那么它就返回true。当Fragment是通过<fragment>标签来创建的时候,这个方法始终会返回true。从之前的状态恢复旧的Fragment对象,并且该对象没有显示在当前状态的布局中的情况除外。

     5.  Public final boolean isRemoving()

     如果当前的Fragment对象正在从它的Activity中被删除,那么就返回true。这删除过程不是该Fragment对象的Activity的结束过程,而是把Fragment对象从它所在的Activity中删除的过程。

     6.   public final boolean isResumed()

如果Fragment对象是在恢复状态中,该方法会返回true。在onResume()和onPause()回调期间,这个方法都返回true。

     7.   Public final boolean isVisible()

      如果该Fragment对象对用户可见,那么就返回true。这就意味着它:1.已经被添加到Activity中;2.它的View对象已经被绑定到窗口中;3.没有被隐藏。

     8.    Public void onActivityCreated(Bundle savedInstanceState)

     当Fragment对象的Activity被创建,并且Fragment对象的View层次树被实例化的时候,系统会调用这个方法。能够利用这个方法来做一些最后的初始化处理,如获取或恢复状态,还可用于那些使用setRetainInstance(boolean)方法来保留它们的实例的Fragment对象,因为这个回调方法会告诉Fragment对象,它是在什么时候跟这个新的Activity实例关联的。该回调方法在onCreateView(LayoutInflater, ViewGroup, Bundle)之后和onStart()之前被调用。

参数

savedInstanceState 如果该Fragment对象正在被重建,那么该参数指定之前被保存的状态。

     9.    public void onActivityResult(int requestCode, int resultCode, Intent data)

     接收来自前面调用startActivityForResult(Intent, int)方法的结果。在Activity API的相关介绍中有关于onActivityResult(int, int, Intent)方法的介绍。

参数

requestCode 这个整数是由startActivityForResult()提供的初始请求Code,允许用来标识该结果的来源。

resultCode 这个整数是由子Activity通过它的setResult()方法设置并返回的结果Code。

Data 一个Intent类型的对象,它把结果数据返回给调用者(能包各种数据绑定给Intent对象的extras属性字段)。

    10.  public void onAttach(Activity activity)

     当该Fragment对象被第一次绑定到它的Activity时,系统会调用这个方法。这个方法被调用之后,系统会调用该Fragment对象的onCcreate(Bundle)方法。

    11.  public void onConfigurationChanged(Configuration newConfig)

    当设备配置改变且组件正在运行时,系统会调用这个方法。要注意的是,跟Activity不一样,在配置改变时,其他的组件不会被重启:它们始终通过重新获取资源来处理这种改变。

在该功能被调用后,被更新的资源对象会返回与新的配置相匹配的资源值。

参数

newConfing 指定新的设备配置。

    12.   public boolean onContextItemSelected(MenuItem item)

    在上下文菜单中的一个菜单项被选择时,系统会调用这个回调方法。对于所放生的普通的处理过程,该方法的默认实现只是简单的返回false(调用该项目的Runnable对象或把一个消息发送给相应的Handler)。可以使用这个方法针对菜单项做一些其他的处理。

使用getMenuInfo()方法来获取由添加给菜单项的View对象所设置的附加信息。

其子类应用通过调用基类的该方法实现来执行默认的菜单处理。

参数

item 该参数指定了被选择的上下文菜单项。

返回值

如果允许正常的上下文菜单处理,就返回false,否则返回true。

    13.   public void onCreate(Bundle savedInstanceState)

    Fragment对象被初始创建时,系统会调用该方法。调用时机是在onAttach(Activity)之后,onCreateView(LayoutInflater, ViewGroup, Bundle)之前。

要注意的是,该方法在其Fragment的Activity依然在被创建的过程中,也能够被调用。因此,不能在这个时点依赖正在被初始化的Activity的上下文View层次树。

参数

savedInstanceState 如果该Fragment正在被重建,那么这个参数会指定Fragment之前的状态。

public Animator onCreateAnimator(int transit, boolean enter, int nextAnim)

在Fragment对象加载一个动画时,系统会调用这个方法。


 

散户逆袭神器:用通达信DIY指数发现下一个光伏储能(附龙头股筛选模板) 本文详细介绍了如何利用通达信软件的自定义指数功能,构建个人专属的行业监控工具,以发现类似光伏储能这样的潜力赛道。文章提供了从零开始的指数编制步骤、核心的龙头股筛选模板,以及五个关键的数据校验技巧,帮助散户投资者实现机构级的行业分析与机会挖掘,有效提升投资决策能力。 阅读详情

相关推荐

SPI 协议帧格式深度解析:从 8 位数据到 16 位扩展的 3 种模式

本文深入解析SPI协议的帧格式,涵盖从8位标准到16位扩展的三种模式。通过详细讲解SPI时钟模式、数据宽度配置及实际应用案例,帮助开发者掌握SPI外设的深度定制能力,提升嵌入式系统开发效率。特别适用于连接传感器、存储器和显示器等高速通讯场景。

weixin_34110749的博客 346

Android类参考---Fragment(四)

public final boolean isAdded() 如果该Fragment对象被添加到了它的Activity中,那么它返回true,否则返回false。 public final boolean isDetached() 如果该Fragment已经明确的从UI中分离,那么它返回true。也就是说,在该Fragment对象上使用FragmentTransaction.detach(F...

编程资料大全 501

OpenMV模块视觉测距(避障)+颜色识别+TFT-LCD显示(实现原理与代码分析)

上图所示代码实际运行的帧率比较低,主要原因有以下两个:1.硬件问题,博主使用的版本比较低,可以尝试使用高版本OpenMV2.图像滤波问题。之前加入图像滤波是想提高色块识别的准确性,但是相应的运算速度也会下降。

ediykk的博客 1万+

Fragment中 onHiddenChanged()方法

Fragment 我们大家经常用的一个“碎片”控件,在fragment的切换中我们会用到hide(),show()方法,当然了这只是fragment之间切换的一种方法,今天我们我们不讲fragment是怎么切换的,而是谈谈fragment中的onHiddenChanged()方法。   最近我在项目中遇到一个对于新手(也包括我啊)来说比较蛋疼的BUG,先看一下问题所在,然后我在讲解。

豆子的博客 3060

Windows11上CUDA 12.3配PyTorch踩坑记:一条官网命令救了我的GPU加速

本文详细介绍了在Windows 11上配置CUDA 12.3与PyTorch的完整指南,包括环境准备、安装要点、兼容性解决方案和性能验证。通过官方推荐的conda命令和实用技巧,帮助开发者解决常见问题,实现高效的GPU加速,提升深度学习开发效率。

weixin_42528974的博客 109

多智能体强化学习论文——SEAC(NIPS 2020)

存在的问题&研究动机&研究思路 在稀疏奖励的环境下,多智能体的exploration存在效率不足等问题。 在IAC的基础上尝试加入重要性采样,使得每次更新智能体iii的参数时,不再仅仅使用智能体iii的数据,而是使用所有智能体的数据进行智能体iii数据的更新。 对于原始的IAC算法是on-policy的,而SEAC则是off-poligy的。 创新点 在每个智能体iii的actoriactor_iactori​和criticicritic_icritici​的更新过程中,都加入了重要性

我的AI笔记 1207

android_基础_onHiddenChanged结合onResume的使用

转载自: https://blog.youkuaiyun.com/qq_28261207/article/details/64129808 问题:当Activity里有多个fragment时,其中fragmentA根据需求,需要在onResume时需要做请求数据等操作,但是如果直接在fragmentA里的onResume里写东西,当从其他页面返回到fragmentB和fragmentC时,fragmentA里的onResume也会走,这样很浪费流量浪费资源。 问题原因:fragment的生命周期是跟着它所在的act.

写bug的蚊子的博客 1868

基于学术研究风云卫星数据下载教程

目录 一、相关网址 1.登录注册网址:国家卫星气象中心 2.风云数据服务客户端下载网址 3.风云卫星遥感数据服务网址 二、下载数据步骤 1.首先在注册登录网址,注册一个账户 2.待账户审核后,登录账户即可搜索并下载数据 三、相关工具下载 1.登录风云卫星遥感数据服务网址 2.NCSA HDFView软件 3.风云卫星数据(L1)处理软件包(FENGYUN Toolkit v1.1) 4.静止卫星云图分区图显示软件(SECView) 5.风云二号静止气象卫星数据及产品处理..

珞瑜的博客 1万+

监听Fragment对用户是否真实可见

需求:监听Fragment对用户真实可见或不可见 网上有很多方法,专门整理了一下。 先介绍四个关于fragment对用户是否可见的方法 1.onHiddenChanged方法 备注:当fragment被执行show() hide()方法时会调用该方法。同时页面和前台后切换是不会执行该方法。 @Override public void onHiddenChanged(...

liuyu0915的博客 1721

5、基于模型的系统工程(MBSE)全面解析

本文全面解析了基于模型的系统工程(MBSE),介绍了模型在系统工程中的核心地位,以及如何通过视图和符号表示法实现信息的可视化。文章还详细阐述了MBSE的方法构成,包括框架(本体和视图点)和流程集,探讨了MBSE的实施流程、关键要素、应用策略以及未来发展趋势。通过合理应用MBSE,组织可以提高系统开发的效率和质量,降低成本与风险,实现成功部署。

nft7creator的博客 127

S7-200 SMART PLC 子程序功能块(阀门控制)

由于S7-200 SMARTPLC的子程序种种功能、容量限制,有时想实现多次调用的子程序可能并不是太容易,这篇博客还是给出一些推荐写法,供大家参看。

RXXW_Dor的博客 8070

【Android】Fragment中onHiddenChanged方法使用

onHiddenChanged这个方法可以用来在切换Fragment的时候,进行一些即时的操作(如改变后要刷新、保存等)。拿共享Fragment的数据来说,轻量级的东西可以通过局部变量来设置getter and setter,然后在另一个fragment中通过manager获取另一个fragment的实例(都被add进去了),但比较繁琐的数据可能需要保存到文本或者懒加载的时候,这个方法就派上用场了

乔培宸的博客 6698

Windows Server 2019 服务器一天之中内存利用率越来越高直到死机,疑似内存泄漏

环境: 华为桌面云虚拟机 Windows Server 2019 版本1809 OS内部版本17763.107 问题描述: Windows Server 2019服务器 一天之中内存利用率越来越高直到死机,不断扩容内存从10G到16G一重启就正常然后慢慢又循环,连续几天都这样,疑似内存泄漏 内存泄漏是什么? 内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪

本博客,博文仅代表个人操作经验,不能完全解决你的问题,仅供参考,佛系回复。 5394

Android笔记

viewBinding的原理及使用,IO操作,MMAP的原理,mmkv优点,binder通信原理,打包Apk流程,Android人脸识别,兼容鸿蒙系统的一些问题,EventBus粘性事件。。。

ML 2579

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Fragment 使用hide和show,使用onHiddenChanged代替执行生命周期

ragment是我们经常使用到的一个控件,但是,相信大家会出现这样的一个问题,每次切换fragment的时候之前我们一直都是这样写的代码:/** * 根据传入的参数来改变当前的fragment * * @param fragment */ private void showFragment(Fragment fragment) { Fr

Losileeya 2万+

Statistics and Machine Learning Toolbox

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

onHiddenChanged - 更好的运用

结合之前写的一篇关于onHiddenChanged 的 : http://blog.youkuaiyun.com/qq_28261207/article/details/64129808 这次的场景: | -> fragment1 | 首页有个MainActivity ->  | -> fragment2 |  | -> fragment3_1 | -> fragment3 -----

一名小安卓的博客 8521

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

关于onhiddenchanged和setUserVisibleHint函数的知识

/** * Called when the hidden state (as returned by {@link #isHidden()} of * the fragment has changed. Fragments start out not hidden; this will * be called whenever the fragment changes

刘亦明的专栏 4519

Fragment可见性监听方案,多种case完美兼容

1.搭建知识框架可不是说你整理好要学习的知识顺序,然后看一遍理解了能复制粘贴就够了,大多都是需要你自己读懂源码和原理,能自己手写出来的。2.学习的时候你一定要多看多练几遍,把知识才吃透,还要记笔记,这些很重要!最后你达到什么水平取决你消化了多少知识3.最终你的知识框架应该是一个完善的,兼顾广度和深度的技术体系。然后经过多次项目实战积累经验,你才能达到高级架构师的层次。你只需要按照在这个大的框架去填充自己,年薪40W一定不是终点,技术无止境。

2401_84132496的博客 1160

Android基础知识-Fragment相关

https://www.jianshu.com/p/d9143a92ad94 https://www.jianshu.com/p/fd71d65f0ec6 一、Fragment生命周期 https://www.jianshu.com/p/927ca066120b 1、定义 Fragment 表示 FragmentActivity 中的行为或界面的一部分。 2、Fragment优点: 与Activi...

笨鸟的专栏 1131

Fragment解析

Fragment 详解 ##Fragment的产生与介绍 Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视。针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神马超级大屏的。难道无法做到一个App可以同时适应手机和平板么,当然了,必须有啊。Fragment的出现就是为了解决这样的问题。你可以把Fragment当成Activity的一个界面的一个组成部分,甚至Activity的界面可以完全有不同的Fragment组成,更帅气的是Fragm

Jason_Julie的博客 622

安卓Fragment的onHiddenChanged方法

安卓开发中Fragment最常用的地方应该就是首页tab的切换了吧,下面上代码 //获取FragmentTransaction mTransaction = mFragmentManager.beginTransaction(); //先把所有的Fragment隐藏 hideFragments(mTransaction); if (mHomeFragment == n...

qq_36356379的博客 2104

Fragment 之 onHiddenChanged() 与 onResume()

onHiddenChanged() 调用于 onResume()之前。 onHiddenChanged() 针对于一个 Activity 包含多个 Fragment 而言 例:当一个 Activity 中包含多个 Fragment 时,通过选择器切换Fragment 不会调用 onResume(),只会调用 onHiddenChanged() onResume() 针对于多个 Activit

qq_14945971的博客 2585

(一百三十七)梳理fragment的isAdded

目录 1.api 2.流程梳理 2.1addFragment 2.2 attachFragment 2.3restoreAllState 3.总结 1.api /frameworks/base/core/java/android/app/Fragment.java /** * Return true if the fragment is currently...

JT的专栏 2534

Android 中 Fragment判空

3. 判断 Fragment 是否已经被销毁,可以通过 Fragment 的 isDetached() 或 isRemoving() 方法来判断。1. 判断 Fragment 是否已经被添加到 Activity 中,可以通过 Fragment 的 isAdded() 方法来判断。2. 判断 Fragment 的 View 是否已经被创建,可以通过 Fragment 的 getView() 方法来判断。// Fragment 不为空。// Fragment 为空。

红鼻子小黑的博客 1424

Fragment 显示时执行的方法onHiddenChanged,切换Fragment 时来请求数据

@Override public void onHiddenChanged(boolean hidden) { super.onHiddenChanged(hidden); if(hidden){ }else{ requestData() ; } }

NiuAGeNiuC的博客 1714

fragment 切换判断界面是否可见 setUserVisibleHint和onHiddenChanged使用场景

fragment大家经常应用到  声明周期依赖于宿主activity1 第一种用法:切换fragment/**使用replace方法     */    private void showMyFragment(Fragment fragment) {        FragmentTransaction transaction = fragmentManager.beginTransaction(...

kristch_wu的博客 3万+
上一篇: Android学习之文件选择器LFilePicker
下一篇: Android的网络状态判断
liuhaha1015
博客等级 码龄10年 73粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值