如何管理多个dialog弹出
来源:互联网 发布:抗战网络电影 编辑:程序博客网 时间:2024/06/07 20:41
**如何管理多个dialog弹出?
需求背景:重复触发某一广播弹出多个dialog,现只需弹一个dialog,解决方案关键代码如下:
解决方案1:用isShowing()对正在show的dialog进行管理
if (mDialog == null) mDialog = new BaseDialogActivity(context, markIntent,R.style.BaseDialog); //读者需自定义dialog if (mDialog.isShowing() && null != mDialog){ //关键是这个判断,isShowing()判断是否有同一个对象的dialog正在show。 //加上此句问题就解决了 Log.d(TAG,"--showing: "+ mDialog.isShowing()); mDialog.dismiss(); } //dialog悬浮框,此处需读者自加权限 mDialog.getWindow().setType( WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); mDialog.show();
解决方案2:用map对正在show的dialog进行管理
Map<Object, Boolean> mapDialog=new HashMap<Object, Boolean>(); //存放正在show的dialog mDialog = new BaseDialogActivity(context, markIntent, R.style.BaseDialog); //这里是判断map中有没有正在show的dialog,有的话就将其关闭,然后状态置为false Iterator<Entry<Object, Boolean>> it=mapDialog.entrySet().iterator(); while(it.hasNext()){ Entry<Object, Boolean> entry = (Entry<Object, Boolean>) it.next(); if(entry.getValue()){ ((Dialog) entry.getKey()).dismiss(); mapDialog.put(((Dialog) entry.getKey()), false); } } mDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); mDialog.show(); mDialog.put(dialog2, true); //show完后设为ture
此方案,可以对多个不同对象的dialog进行管理,原理都是将show的dialog放在map里面进行需求操作。
以上两种方案都能解决管理多个dialog弹出问题,代码写得比较简单,技术笔记还望各位指点
0 0
- 如何管理多个dialog弹出
- service如何弹出dialog
- service如何弹出dialog
- Service如何弹出dialog
- FIFO队列管理多个Dialog显示
- 快速点击Altdialog多下弹出多个dialog问题
- Android Service如何弹出Dialog
- Flex之旅:第二部分:容器与布局(5)---如何管理多个弹出的页面
- 如何使用art.dialog进行窗体弹出
- easyui+如何弹出dialog中包含datagrid
- jquery easyUI的dialog方法弹出对话框多个按钮进行选择
- 频道管理的条目点击弹出的dialog使用
- Android Activity弹出框、PopupWindow弹出框、Dialog弹出框 - 如何选择
- 如何修改lListPreference弹出的dialog的样式
- 如何实现dialog弹出,但activity界面颜色不变暗
- 如何改变Android Dialog弹出后的Activity背景亮度
- 如何配置一个简易的密码弹出框Dialog
- 当dialog弹出时如何监听系统的返回键
- LVS基本介绍
- findViewById返回null
- CodeForces 431C k-Tree(dp)
- 哈希表算法
- redhat更改系统时间
- 如何管理多个dialog弹出
- SSO 原理浅谈
- Keil C51内存
- 前端构建工具gulpjs的使用介绍及技巧
- 黑马程序员_Java基础_IO(2)
- 2015年大一下第8周项目3-类族的设计
- 学linux,不用必须使用linux的图形界面
- 简单分页后台计算
- jmeter脚本参数化(三)