File tree Expand file tree Collapse file tree 1 file changed +7
-3
lines changed
Expand file tree Collapse file tree 1 file changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -963,7 +963,7 @@ public Parcelable onSaveInstanceState() {
963963
964964 SavedState ss = new SavedState (superState );
965965
966- boolean haveChildren = getChildCount () > 0 ;
966+ boolean haveChildren = getChildCount () > 0 && mItemCount > 0 ;
967967 long selectedId = getSelectedItemId ();
968968 ss .selectedId = selectedId ;
969969 ss .height = getHeight ();
@@ -978,8 +978,12 @@ public Parcelable onSaveInstanceState() {
978978 // Remember the position of the first child
979979 View v = getChildAt (0 );
980980 ss .viewTop = v .getTop ();
981- ss .position = mFirstPosition ;
982- ss .firstId = mAdapter .getItemId (mFirstPosition );
981+ int firstPos = mFirstPosition ;
982+ if (firstPos >= mItemCount ) {
983+ firstPos = mItemCount - 1 ;
984+ }
985+ ss .position = firstPos ;
986+ ss .firstId = mAdapter .getItemId (firstPos );
983987 } else {
984988 ss .viewTop = 0 ;
985989 ss .firstId = INVALID_POSITION ;
You can’t perform that action at this time.
0 commit comments