ButterKnife java.lang.ClassCastException: android.view.View cannot be cast to android.app.Activity
2016-09-18 10:54
609 查看
今天使用ButterKnife报以下错误:
Caused by: java.lang.ClassCastException: android.view.View cannot be cast to android.app.Activity
at butterknife.internal.Finder$2.getContext(Finder.java:35)
at butterknife.internal.Finder.getResourceEntryName(Finder.java:111)
at butterknife.internal.Finder.castView(Finder.java:82)
at hibaby.expert.course.live.LiveActivity_ViewBinding.<init>(LiveActivity_ViewBinding.java:32)
at hibaby.expert.course.live.LiveActivity_ViewBinder.bind(LiveActivity_ViewBinder.java:13)
at hibaby.expert.course.live.LiveActivity_ViewBinder.bind(LiveActivity_ViewBinder.java:10)
at butterknife.ButterKnife.bind(ButterKnife.java:125)
at hibaby.expert.course.live.LiveActivity.onCreate(LiveActivity.java:67)
at android.app.Activity.performCreate(Activity.java:6161)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112)
经过检查,发现,并非是ButterKnife.bind(Activity)错误,而是声明的对象中,有一个View类型的视图,被声明成了TextView而导致的错误。ButterKnife不能正确打印此错误,不知道算不算他们的BUG。
//更正前
@BindView(R.id.v_left)
TextView tvLeft;
//更正后
@BindView(R.id.v_left)
View tvLeft;
OK,问题解决。
Caused by: java.lang.ClassCastException: android.view.View cannot be cast to android.app.Activity
at butterknife.internal.Finder$2.getContext(Finder.java:35)
at butterknife.internal.Finder.getResourceEntryName(Finder.java:111)
at butterknife.internal.Finder.castView(Finder.java:82)
at hibaby.expert.course.live.LiveActivity_ViewBinding.<init>(LiveActivity_ViewBinding.java:32)
at hibaby.expert.course.live.LiveActivity_ViewBinder.bind(LiveActivity_ViewBinder.java:13)
at hibaby.expert.course.live.LiveActivity_ViewBinder.bind(LiveActivity_ViewBinder.java:10)
at butterknife.ButterKnife.bind(ButterKnife.java:125)
at hibaby.expert.course.live.LiveActivity.onCreate(LiveActivity.java:67)
at android.app.Activity.performCreate(Activity.java:6161)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112)
经过检查,发现,并非是ButterKnife.bind(Activity)错误,而是声明的对象中,有一个View类型的视图,被声明成了TextView而导致的错误。ButterKnife不能正确打印此错误,不知道算不算他们的BUG。
//更正前
@BindView(R.id.v_left)
TextView tvLeft;
//更正后
@BindView(R.id.v_left)
View tvLeft;
OK,问题解决。
相关文章推荐
- Android Studio 错误 com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
- Android.mk简单分析
- ubuntu 14.10 编译 android 4.4kitkat
- Android Dialog、Toast和Snackbar详解
- android 页面自适应布局实践
- Android string.xml中使用html标签
- CheckBox
- 布局总结
- Android语音识别技术详解及实例代码
- Android android.view.InflateException Binary XML file line #16: Error inflating class button
- 利用 Android Studio 和 Gradle 打包多版本APK
- 使用聚合数据的接口进行的RxAndroid学习
- Android 抓包工具使用方法
- 号线项目,百度SDK定位开发总结
- Android 控件 ListView学习
- Android Studio配置SVN
- android edittext软键盘弹出,底部radioGroup跟着一起上移问题
- Android中surface,surfaceview,sufaceholder以及surface客户端的关系
- 百度语音识别(Baidu Voice) Android studio版本详解
- android系统中自带的一些ThemeStyle