ListFragment または ListActivity に保存状態が見つからないため、位置を保存するすべてのプロセスは ListView で行われます。ListFragment は、単純に ListView を使用します。AbsListView.java を開くと、2 つのメソッドを見ることができます。
@Override Parcelable onSaveInstanceState() {
[...]
if (selectedId >= 0) {
// Remember the selection
ss.viewTop = mSelectedTop;
ss.position = getSelectedItemPosition();
ss.firstId = INVALID_POSITION;
}
これらの値が復元される場所
@Override
public void onRestoreInstanceState(Parcelable state) {
[...]
if (ss.selectedId >= 0) {
mNeedSync = true;
mPendingSync = ss;
mSyncRowId = ss.selectedId;
mSyncPosition = ss.position;
mSpecificTop = ss.viewTop;
mSyncMode = SYNC_SELECTED_POSITION;
}
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.3_r2.1/android/widget/AbsListView .ジャバ/