popupwindow也是相同的道理,因为依赖的activity被回收了,空指针了

-------------------------------------------------------------------

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即可.

更多相关文章

  1. [置顶] android ndk空指针导致CRASH的问题
  2. Android(安卓)Binder 修炼之道(四)Binder 系统C++ 发送数据过程以
  3. android 加载布局xml文件时报空指针
  4. android native ndk崩溃定位
  5. Android(安卓)Gingerbread基于32 bit Ubuntu 10.10编译问题
  6. Sqlite在Android上的一个Bug - 临时文件写策略
  7. android mContainer.setPersistentDrawingCache (int drawingCac
  8. launcher3时钟小部件
  9. 深入剖析ndk配置环境VS简易配置jni流程

随机推荐

  1. http://source.android.com/ android官网
  2. android 的getX和getRawX
  3. android设置全屏显示
  4. Use HTC 816t and Eclipse on Ubuntu to
  5. Android spanned SPAN_INCLUSIVE_INCLUSI
  6. android 9.0获取mac地址的方法
  7. cocos2d-x win7 搭建 android 开发环境==
  8. 在Android里面实现复制粘贴功能
  9. 《Android开发从零开始》——22.数据存储
  10. Android获取网页源代码