onRestoreInstanceState exception only on froyo for a simple textview

by Cheryl Sedota » Fri, 13 Aug 2010 23:15:35 GMT


Sponsored Links
 I have an application with an activity group, and it uses the local
activity manager class to start a subactivity and insert that
subactivity's view.  I do not have any custom onSaveInstanceState
logic written anywhere in my app.  I have a nested layout of relative
layout -> textview within that subactivity's view, and the text view's
id is "recent_apps_label".  I get this exception every time I rotate
the device to/from portrait/landscape orientation on froyo ONLY, never
saw this on eclair.

Please help - I have NO idea as to how the parcelable object getting
sent to onRestoreInstanceState would be for a list view.  I even
changed the id to something even more unique and it didn't fix the
problem.  I have a different layout file for the containing layout in
layout-land-mdpi, layout-port-mdpi, and layout-port-hdpi FYI.

Here is the exception:

E/AndroidRuntime( 1106): java.lang.IllegalArgumentException: Wrong
state class, expecting View State but received class
android.widget.AbsListView$SavedState instead. This usually happens
when two views of different type have the same id in the same
hierarchy. This view's id is id/recent_apps_label. Make sure other
views do not use the same id.
E/AndroidRuntime( 1106):        at
android.view.View.onRestoreInstanceState(View.java:6162)
E/AndroidRuntime( 1106):        at
android.widget.TextView.onRestoreInstanceState(TextView.java:2422)
E/AndroidRuntime( 1106):        at
android.view.View.dispatchRestoreInstanceState(View.java:6138)
E/AndroidRuntime( 1106):        at
android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:
1209)
E/AndroidRuntime( 1106):        at
android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:
1209)
E/AndroidRuntime( 1106):        at
android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:
1209)
E/AndroidRuntime( 1106):        at
android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:
1209)
E/AndroidRuntime( 1106):        at
android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:
1209)
E/AndroidRuntime( 1106):        at
android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:
1209)
E/AndroidRuntime( 1106):        at
android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:
1209)
E/AndroidRuntime( 1106):        at
android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:
1209)
E/AndroidRuntime( 1106):        at
android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:
1209)
E/AndroidRuntime( 1106):        at
android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:
1209)
E/AndroidRuntime( 1106):        at
android.view.View.restoreHierarchyState(View.java:6117)
E/AndroidRuntime( 1106):        at
com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:
1530)
E/AndroidRuntime( 1106):        at
android.app.Activity.onRestoreInstanceState(Activity.java:843)

--



onRestoreInstanceState exception only on froyo for a simple textview

by Cheryl Sedota » Fri, 13 Aug 2010 23:29:07 GMT


  subclasses TextView for this one control and logged calls to
onSaveInstanceState and onRestoreInstanceState - I never return an
AbsListView.SavedState in onSaveInstanceState but I am seeing it get
sent to my onRestoreInstanceState method:

I/TestTextView( 1739): In onSaveInstanceState with
android.view.abssavedstat...@400bae90
I/TestTextView( 1739): In onSaveInstanceState with
android.view.abssavedstat...@400bae90
I/TestTextView( 1739): In onSaveInstanceState with
android.view.abssavedstat...@400bae90
I/TestTextView( 1739): In onRestoreInstanceState with
android.view.abssavedstat...@400bae90
I/TestTextView( 1739): In onSaveInstanceState with
android.view.abssavedstat...@400bae90
I/TestTextView( 1739): In onRestoreInstanceState with
AbsListView.SavedState{45128f10 selectedId=-9223372036854775808
firstId=1 viewTop=0 position=0 height=455 filter=null}

On Aug 13, 10:15am, Cheryl Sedota <cherylsed...@gmail.com> wrote:

--


Sponsored Links


onRestoreInstanceState exception only on froyo for a simple textview

by Cheryl Sedota » Sat, 14 Aug 2010 00:54:46 GMT


 t appears that there is a bug in android where subactivities' views
are not kept isolated from each other (like AppWidgetHostView does).
Android generates the same set of id's across applications and I found
that another subactivity in the activity group has the same id
assigned to it and it's a list view. I am going to suppress saving
instance state for now, as a temporary fix but I understand that won't
enable me to get the default state saving functionality built into
android. Should I open a bug?

On Aug 13, 10:28am, Cheryl Sedota <cherylsed...@gmail.com> wrote:

--



Other Threads

1. Petition: Google, please improve the Android Market.



Yes.

-- 
Mark Murphy (a Commons Guy)
http://commonsware.com | http://twitter.com/commonsguy

_Beginning Android_ from Apress Now Available!

-- 

2. Any built-in intent for viewing a single image?



The Gallery has an activity for that. However, that probably only works
for images in the MediaStore, and I don't think it is documented. The
former may be a show-stopper for you; the latter is a show-stopper for
everyone.

-- 
Mark Murphy (a Commons Guy)
http://commonsware.com | http://twitter.com/commonsguy

Android App Developer Training: http://commonsware.com/training

-- 

3. cropped picture with ImageView?

4. Obtain unicode string for Roslien Language

5. Is it possible to always use a custom Instrumentation?

6. Database management

7. *Sharing SOFTWARE-SOFTWARE yang Keren-keren dong. Kira-kira APA?