Fragment already added 解决方式
先判断Fragment有没有被添加(isAdded),但是仅仅有这个远远达不到我们需要的,还需要为这个Fragment加一个Tag,最后发现即使加了Tag还是不行,因为如果快速的点击两个Fragment切换页面,mFragmentManager().findFragmentByTag(这个方法返回来还是null。原因就是commit()方法执行后并没有立即 add(mFragmentContainerId, fragment,Tag),就造成
findFragmentByTag(xxx)读取不到内容。看一下commit的方法解释
Schedules a commit of this transaction. The commit does not happen immediately; it will be scheduled as work on the main thread to be done the next time that thread is ready.
最后解决方法是加上tag之后,还需要执行getSupportFragmentManager.executePendingTransactions()
总示例代码如下:
FragmentTransaction transaction = mFragmentManager.beginTransaction();Fragment next = mFragmentList.get(position);if (next.isAdded() && mFragmentManager.findFragmentByTag(position + "") != null) {transaction.show(next);} else {mFragmentManager.executePendingTransactions();transaction.add(mFragmentContainerId, next, position + "");transaction.addToBackStack(null);}transaction.commitAllowingStateLoss();
Fragment already added 解决方式相关推荐
- Android DialogFragment 遇到 java.lang.IllegalStateException: Fragment already added: 的解决方法
Android DialogFragment 遇到 java.lang.IllegalStateException: Fragment already added: 的解决方法 参考文章: (1)An ...
- Mac安装淘宝镜像权限问题的解决方式
解决方式: sudo npm install -g cnpm --registry=https://registry.npm.taobao.org --verbose 此时会提示让你输入一个密码 ...
- JS 跨域问题常见的五种解决方式
JS 跨域问题常见的五种解决方式 一.什么是跨域? 要理解跨域问题,就先理解好概念.跨域问题是由于javascript语言安全限制中的同源策略造成的. 简单来说,同源策略是指一段脚本只能读取来自同一来 ...
- JAVA Web项目中所出现错误及解决方式合集(不断更新中)
JAVA Web项目中所出现错误及解决方式合集 前言 一.几个或许会用到的软件下载官网 二.Eclipse的[preferences]下没有[sever]选项 三.Tomcat的安装路径找不到 四.T ...
- sqlserver导入excel的电话号码(身份证)变为科学计数解决方式
如果excel中有一列存的是手机号码或者身份证号码,那么导入到sql中时,会把手机或者身份证当作数字格式对待,因而会以科学记数法的形式存在sqlserver表中,解决方式,先将excel文件另存为文本 ...
- 服务器自动post,jquery ajax $.post自动变GET的解决方式(for CI)
环境:CI 3.x + windows 2008 + phpstudy + jquery 1.7.2 + apache 以往一直用lnmp,这次用windows+apache,遇到了一些问题,记录下来 ...
- redis的分布式解决方式--codis (转)
codis是豌豆荚开源的分布式server.眼下处于稳定阶段. 原文地址:https://github.com/wandoulabs/codis/blob/master/doc/tutorial_zh ...
- Visual studio 2010出现“error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”解决方式...
本来自己的电脑上装了VS2010,因为开发Cocos2d-x 3.x,所以就在自己的机器上装了一个VS2012. 但是.这不装不要紧,debug一下自己原来的程序,结果出现了"error L ...
- Android爬坑之旅:软键盘挡住输入框问题的终极解决方式
本文由BarryZhang原创,同一时候首发于diycode.cc.barryzhang.com .github.com/barryhappy.非商业转载请注明作者和原文链接. 前言 开发做得久了.总 ...
- 移动基于Percona XTRADB Cluster的大数据解决方式
移动基于Percona XTRADB Cluster的大数据解决方式 一.移动的去IOE之旅 近期由于"棱镜门"事件的曝光.引起了国家对信息安全问题的注 ...
最新文章
- 一本冷门书:以色列闪盘之父的创业故事
- 实验long raw 和 blob两种数据类型遇到dblink的表现
- Linux操作oracle——关闭、停止、重启
- 设计模式——设计模式之禅day2
- 2.1.1 正则化基本介绍
- Linux下oracle全库导出,Oracle数据库导出导入
- java8安装_JMeter必知必会系列(2) JMeter安装部署
- pandas输出csv某一列的数据
- 【转载】jQuery学习笔记
- 远程登录linux_linux 检查远程登录IP,并发送告警
- Spring Retry 重试机制实现及原理
- flutter 开关Switch与复选框Checkbox
- 解决VS中注释乱码的问题
- Gartner 如何看 RASP 和 WAF?
- 14.19 InnoDB and MySQL Replication InnoDB 和MySQL 复制:
- 5G的网络切片功能概述
- 糖友日常生活需要注意什么
- 机器学习相关问题与资源下载。
- Lattice Diamond用Active-HDL实现仿真
- SQL全方位攻略:之数据库历史、数据库基本概念和相关术语,以及常见的数据库类型介绍
热门文章
- [LiteratureReview]A Collaborative Visual SLAM Framework for Service Robots
- 回收宝只要6499买华为Mate40 Pro还送iPhone 12手机:结果被秒杀!
- uni-app 背景图片处理
- 数电——高/低电平之间的差异与共同
- 扯淡之——世界上先有鸡还是先有鸡蛋
- React官方状态管理库—— Recoil
- 2020牛客暑期多校训练营(第九场) 	The Flee Plan of Groundhog
- 【精】HDFS Balancer原理、参数详解
- 17款现代风格的免费英文字体,分享给设计师们
- Pygame实现小球躲避