Android-alertDialog在满足条件时,在一个activity中出现,一旦出现过后,在其它activity中将不再出现,如何实现?

Android-alertDialog在满足条件时,在一个activity中出现,一旦出现过后,在其它activity中将不再出现,如何实现?

甜柠檬 发布于 2017-04-27 字数 274 浏览 1190 回复 3

场景:我的程序中有多个activity,我会随时在多个activity中切换,但是,我现在是与主机处于连接状态,一旦我与主机断开连接,那么我要有一个提醒,通过alertDialog提示,且alertDialog只提示一次;不过,有个条件就是,在我切换activity的过程中,alertDialog会出现在相应的activity中。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

偏爱自由 2017-09-29 3 楼

不要硬性触发,断开连接,设置标志位,发送消息,连接后设置标志位发送消息。

泛泛之交 2017-07-04 2 楼

写一个Activity的父类,里面包含一个显示dialog的方法,然后每个activity都去继承这个父类,然后使用ActivityManager获取当前显示的Activity,调用显示dialog的方法。

灵芸 2017-06-29 1 楼

啊! 这边我来说一个我想到的方法。 因为你的多个activity之间切换,我认识到的分两种:
1.有个一ActivityGroup 去包含其他的 Activity ,ActivityGroup 一直存在存在一个空间提供给其他的activity 显示内容,ActivityGroup 充当显示框架这样一个角色。 如果这时想实现你所说的需求,那么只需在ActivityGroup 这个界面弹出一个Dialog 就可以了。
2.如果你的activity之间不存在,包含和被包含的关系。都是平级, 我感觉这个时候。实现你上面的需求可以这么去做:
打开一个新的activity 让他位于界面的顶端,因为我们的本意是想让他以对话框显示展示,所以可以设置activity 以对话框形式打开, 通过样式文件引用,你完全可以把一个activity 伪装成一个dialog,再者我们还需调整activity 的启动模式,

android:launchMode="singleTask"

让他只存在一个实例。 关于activity启动模式,可以从这查看
http://blog.sina.com.cn/s/blog_7452896e010145ug.html

当你需要打开一个dialog 只需要打开这个activity 就可以了。

如果实现不了通过样式文件伪装成 dialog ,还一个比办法,就是打开一个activity 不调用setContextView(). 直接弹出对话框。 O(∩_∩)O哈哈~