码迷,mamicode.com
首页 > 移动开发 > 详细

Android Dialog.dismiss()与Activity.finish()顺序

时间:2015-07-21 14:34:22      阅读:585      评论:0      收藏:0      [点我收藏+]

标签:

activity.finish() 和dialog.show() 同时调用的时候,
需要先调用dialog.dismiss() 后activity.finish()
如果先直接finish()后,再触发dialog.show() 会出错 。

解决策略:

Activity调用了finish后,其isFinishing()会被立即置为true
在Dialog.show()之前,务必检测context所属的activity的isFinishing是否为true

附:context与Activity之间相互转换
(参考:http://blog.csdn.net/libaineu2004/article/details/43452697)

1、context转换为activity 

Activity activity = (Activity) context;

 

2、从activity得到context

在activity的方法中用context = getBaseContext();
而在activity中用context = this即可.

 

Android Dialog.dismiss()与Activity.finish()顺序

标签:

原文地址:http://www.cnblogs.com/naiking/p/4664267.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!