DialogFrament遇到的两个坑
来源:互联网 发布:广告清理软件 编辑:程序博客网 时间:2024/06/11 02:28
DialogFragment碰到的两个坑:
坑1:
如果要复用,在show的时候,要判断是否add:
if(loadingDialog.isAdded()) { ((Activity)context).getFragmentManager().beginTransaction().remove(loadingDialog).commit();
}
先把 stack里旧DialogFragment移掉,不然会导致重复添加
在dismiss、show的时候,需要判断所依付的activity是否finish,一般是在网络请求过程中,cancel掉,跳到其它界面,但仍执行callBack导致的,为了避免stack信息不一致,使用allow state loss
if(null != activity && !activity.isFinishing() && (null == getDialog() || !getDialog().isShowing())) { FragmentManager fragmentManager = activity.getFragmentManager(); FragmentTransaction transaction = fragmentManager.beginTransaction(); transaction.add(this, tag); transaction.commitAllowingStateLoss(); transaction.show(this);}
和
if (null != activity && !activity.isFinishing() && null != getDialog() && getDialog().isShowing()) {
super.dismissAllowingStateLoss();
}
super.dismissAllowingStateLoss();
}
0 0
- DialogFrament遇到的两个坑
- 遇到的两个ffmpeg库函数的坑
- 安装配置laravel遇到的两个坑
- 关于 DialogFrament
- Liferay遇到的两个问题
- 今天遇到的两个问题
- 在工作中遇到的两个难题
- 今天遇到的两个问题
- day5:遇到的两个问题
- 今天遇到的两个问题
- mount遇到的两个问题
- RecyclerView遇到的两个bug
- 使用JTable过程中遇到的两个坑
- 最近移动前端项目中遇到的两个坑
- 记录两个使用http2.0遇到的坑
- 两个Activity之间重复相互跳转时遇到的坑
- springMVC项目访问静态资源时遇到的两个坑
- 关于搭建tomcat容器所遇到的两个坑
- C++ 编程题练习-MyString(10-6)
- iOS下实现下拉图片变大的效果
- maven向本地仓库导入jar包(处理官网没有的jar包)
- Spark核心RDD理解
- H5前端性能测试快速入门
- DialogFrament遇到的两个坑
- Spark上的决策树(Decision Tree On Spark)
- 如何在线将pdf转换成图片格式
- 理解 Unity3D RenderWithShader Api
- JavaScript 数组
- 细谈select函数(C语言)
- CnCrypt代码 之 比较靠谱的临时驱动挂载和卸载方法
- 欧几里德算法和唯一分解定理
- 推免与开漏输出详解