android.view.ContextThemeWrapper cannot be cast to android.app.Activity
2015-07-21 09:39
495 查看
java.lang.ClassCastException: android.view.ContextThemeWrapper cannot be cast to android.app.Activity这个错误出现的情况是在Dialog中的context,在强制装换成Activity是会出现的,这种情况的解决方法:
private static Activity scanForActivity(Context cont) { if (cont == null) return null; else if (cont instanceof Activity) return (Activity) cont; else if (cont instanceof ContextWrapper) return scanForActivity(((ContextWrapper) cont).getBaseContext()); return null; }其实也是一个强制转换,不过多添加了三个判断条件,第一个不说了,判断context不为空,第二个是判断context可不可以直接转换成Activity,可以的话直接强制转换,第三个则是这个判断context是不是属于ContextWrapper,是的话将context强制转换成ContextWrapper,在用这个方法判断一次。。能解决大部分情况的这种错误
相关文章推荐
- 移动APP产品经理必学的工具和必上的酷站
- AppCanCSS背景图片的属性
- Android通过反射打造可以存储任何对象的万能SharedPreferences
- AndroidJNI.SetStaticBooleanField设置静态布尔域
- android的ndk学习(1)
- Cocos2d-x3.0 文件处理
- Swift:playground
- Android开发之获取设备的屏幕信息
- Android提高(12)——第二章 Handler怎么用
- Android实现返回拍摄的图片功能实例
- iOS 与webService
- 微信支付-扫码支付备忘
- Android基础入门教程——2.2.6 AbsoluteLayout(绝对布局)
- (9/18)重学Standford_iOS7开发_动画、自动布局_课程笔记
- Nagios监控--案例一
- Android基础入门教程——2.2.5 GridLayout(网格布局)
- Android基础入门教程——2.2.4 FrameLayout(帧布局)
- Android基础入门教程——2.2.3 TableLayout(表格布局)
- Objective-C设计模式——生成器Builder(对象创建)
- Android基础入门教程——2.2.2 RelativeLayout(相对布局)