android - AbsListView: ClassCastException inside onRestoreInstanceState during screen orientation change -
i'm using abslistview
in several fragments , activities can use listview
in portrait mode , gridview
in landscape. of daily testing in ics , jb, , works fine. started testing on gb devices (2.3.6), , classcastexception when rotate device 1 of these screens active. here's stack trace:
05-09 14:04:55.019: e/androidruntime(6052): caused by: java.lang.classcastexception: android.widget.listview$savedstate 05-09 14:04:55.019: e/androidruntime(6052): @ android.widget.abslistview.onrestoreinstancestate(abslistview.java:1018) 05-09 14:04:55.019: e/androidruntime(6052): @ android.view.view.dispatchrestoreinstancestate(view.java:6325) 05-09 14:04:55.019: e/androidruntime(6052): @ android.view.viewgroup.dispatchthawselfonly(viewgroup.java:1314) 05-09 14:04:55.019: e/androidruntime(6052): @ android.widget.adapterview.dispatchrestoreinstancestate(adapterview.java:767) 05-09 14:04:55.019: e/androidruntime(6052): @ android.view.viewgroup.dispatchrestoreinstancestate(viewgroup.java:1301) 05-09 14:04:55.019: e/androidruntime(6052): @ android.view.view.restorehierarchystate(view.java:6304) 05-09 14:04:55.019: e/androidruntime(6052): @ android.support.v4.app.fragment.restoreviewstate(fragment.java:417)
since view of different type depending on orientation, saving state isn't necessary. disabling via setsaveenabled
remove control onsaveinstancestate
/onrestoreinstancestate
events.
list = (abslistview) findviewbyid(r.id.list); list.setsaveenabled(false);
Comments
Post a Comment