mirror of
https://github.com/SimpleMobileTools/Simple-File-Manager.git
synced 2025-02-18 12:50:35 +01:00
save and restore the lists scroll state
This commit is contained in:
parent
b45e526fa7
commit
61dee85c0d
@ -9,6 +9,7 @@ import android.graphics.Color;
|
|||||||
import android.media.MediaScannerConnection;
|
import android.media.MediaScannerConnection;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Parcelable;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import android.support.design.widget.CoordinatorLayout;
|
import android.support.design.widget.CoordinatorLayout;
|
||||||
import android.support.design.widget.Snackbar;
|
import android.support.design.widget.Snackbar;
|
||||||
@ -46,7 +47,9 @@ import java.io.FileFilter;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import butterknife.BindView;
|
import butterknife.BindView;
|
||||||
import butterknife.ButterKnife;
|
import butterknife.ButterKnife;
|
||||||
@ -60,6 +63,7 @@ public class ItemsFragment extends android.support.v4.app.Fragment
|
|||||||
@BindView(R.id.items_holder) CoordinatorLayout mCoordinatorLayout;
|
@BindView(R.id.items_holder) CoordinatorLayout mCoordinatorLayout;
|
||||||
|
|
||||||
public static final int SELECT_FOLDER_REQUEST = 1;
|
public static final int SELECT_FOLDER_REQUEST = 1;
|
||||||
|
private static Map<String, Parcelable> mStates;
|
||||||
|
|
||||||
private List<FileDirItem> mItems;
|
private List<FileDirItem> mItems;
|
||||||
private ItemInteractionListener mListener;
|
private ItemInteractionListener mListener;
|
||||||
@ -84,6 +88,8 @@ public class ItemsFragment extends android.support.v4.app.Fragment
|
|||||||
@Override
|
@Override
|
||||||
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
|
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
|
||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
if (mStates == null)
|
||||||
|
mStates = new HashMap<>();
|
||||||
mShowHidden = Config.newInstance(getContext()).getShowHidden();
|
mShowHidden = Config.newInstance(getContext()).getShowHidden();
|
||||||
mItems = new ArrayList<>();
|
mItems = new ArrayList<>();
|
||||||
mToBeDeleted = new ArrayList<>();
|
mToBeDeleted = new ArrayList<>();
|
||||||
@ -104,6 +110,7 @@ public class ItemsFragment extends android.support.v4.app.Fragment
|
|||||||
public void onPause() {
|
public void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
deleteItems();
|
deleteItems();
|
||||||
|
mStates.put(mPath, mListView.onSaveInstanceState());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fillItems() {
|
private void fillItems() {
|
||||||
@ -122,6 +129,10 @@ public class ItemsFragment extends android.support.v4.app.Fragment
|
|||||||
mListView.setOnItemClickListener(this);
|
mListView.setOnItemClickListener(this);
|
||||||
mListView.setMultiChoiceModeListener(this);
|
mListView.setMultiChoiceModeListener(this);
|
||||||
mListView.setOnTouchListener(this);
|
mListView.setOnTouchListener(this);
|
||||||
|
|
||||||
|
if (mStates != null && mStates.get(mPath) != null) {
|
||||||
|
mListView.onRestoreInstanceState(mStates.get(mPath));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setListener(ItemInteractionListener listener) {
|
public void setListener(ItemInteractionListener listener) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user