java.lang.ClassCastException: android.view.AbsSavedState$1 cannot be cast to android.widget.Progre...
2013-07-19 18:43:00
java.lang.ClassCastException: android.view.AbsSavedState$1 cannot be cast to
android.widget.ProgressBar$SavedState
这个问题折腾了老半天,后来才发现是因为不同布局文件中有重名的控件,而且在要显示的Activity中同时用到了这些布局,所以导致这个问题。
转载于:https://www.cnblogs.com/stwin715/p/3201210.html
原文链接:
http://www.cnblogs.com/stwin715/p/3201210.html
继承父
VIEW
的多个子类时,因为设置
view
的id重复,导致
java
.
lan
g.
ClassCastException
:
android
.
view
.
Abs
Save
dSt
ate
$1 cannot be
cas
t to
android
.
widget
.
Abs
List
View
$Save
dSt
ate
修复你子类中的ID,即可解决
onRestoreInstanceSt
ate
中出现
java
.
lan
g.
ClassCastException
:
android
.
view
.
Abs
Save
dSt
ate
$1 cannot be
cas
t to 的解决办法
上网查大致是同一界面有两个相同id的
view
(包含menuitem),导致恢复状态时出现类型转换异常。
我的部分代码:
创建菜单:
public boolean onC
View
Pager.setCurrentItem;
Abs
Save
dSt
ate
$1 cannot be
cas
t to
android
.
widget
.CompoundButton$Save
dSt
ate
第一次写博客 就是为了纪念这个困扰我一晚上的纠结问题 其实网上不少类似的问题 但都能看出个大概 什么LinearLayout转换 什么List转换出错 唯有这个很摸不着头脑
这里写出我的问题 很简单 Activty没有固定横竖屏 首先 手机设置了自动横竖屏 其次,从一个横屏的Activity返回时 手机还保持横屏状态 因为你没有写清楚横竖屏 所以系
java
.
lan
g.
ClassCastException
:
android
.
widget
.LinearLayout$LayoutParams cannot be
cas
t to
android
.
widget
.
Abs
List
View
$LayoutParams
看下如下错误提示:
java
.
lan
g.
ClassCastException
:
android
.
widget
.LinearLayout
关于这个报错,我们可能会遇到cannot be
cas
t to(不能将什么类型转换成什么)我遇到问题的场景是在于复制包的时候没有导包。applicationContext.xml如下
School和Student如下
Mytest03如下
当Mytest03执行时,会出现如下的错误Student有参数构造方法
java
.
lan
g.
ClassCastException
: com.bjpowernode.ba03.Student cannot be
cas
t to com.bjpowernode.ba01.Stu
如果你要将一个
view
添加到另一个布局中,你必须设定该
View
的布局参数为其父类所使用的布局参数类型。即要在代码中动态改变某组件的高度,其布局参数类型应该是其父类所使用的布局参数类型.
我纠结了很久,其实就是因为当前处理的
view
布局里面的组件id跟其他布局的组件的
id有的重复了,导致我在当前activity里find
view
ById对应了其他布局的组件,因此就报错了,所以大家以后给组件起id先想好,避免重复。
具体报错信息如下:
java
.
lan
g.RuntimeException:Unable to start activity ComponentInfo{com.fsgx.car.
android
.igo/com.fsgx.car.
android
.igo.usercenter.mytrips.MyTripsActivity}:
java
.
lan
g.
ClassCastException
: androi...