diff options
Diffstat (limited to 'app/src/main/java/es/wolfi/app/passman/fragments/CredentialItemFragment.java')
-rw-r--r-- | app/src/main/java/es/wolfi/app/passman/fragments/CredentialItemFragment.java | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/app/src/main/java/es/wolfi/app/passman/fragments/CredentialItemFragment.java b/app/src/main/java/es/wolfi/app/passman/fragments/CredentialItemFragment.java index 7ae8ca6..27c0119 100644 --- a/app/src/main/java/es/wolfi/app/passman/fragments/CredentialItemFragment.java +++ b/app/src/main/java/es/wolfi/app/passman/fragments/CredentialItemFragment.java @@ -21,7 +21,6 @@ package es.wolfi.app.passman.fragments; import android.content.Context; -import android.content.SharedPreferences; import android.os.AsyncTask; import android.os.Bundle; import android.preference.PreferenceManager; @@ -125,6 +124,7 @@ public class CredentialItemFragment extends Fragment { }); v.sort(sortMethod); recyclerView.setAdapter(new CredentialViewAdapter(v.getCredentials(), mListener, PreferenceManager.getDefaultSharedPreferences(getContext()))); + scrollToLastPosition(); updateToggleSortButtonImage(toggleSortButton); } @@ -171,7 +171,6 @@ public class CredentialItemFragment extends Fragment { return view; } - @Override public void onAttach(Context context) { super.onAttach(context); @@ -183,6 +182,20 @@ public class CredentialItemFragment extends Fragment { } } + public void scrollToLastPosition() { + if (recyclerView != null) { + recyclerView.post(new Runnable() { + @Override + public void run() { + final LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager(); + if (layoutManager != null) { + layoutManager.scrollToPositionWithOffset(mListener.getLastCredentialListPosition(), 0); + } + } + }); + } + } + @Override public void onDetach() { super.onDetach(); @@ -202,5 +215,9 @@ public class CredentialItemFragment extends Fragment { public interface OnListFragmentInteractionListener { // TODO: Update argument type and name void onListFragmentInteraction(Credential item); + + void setLastCredentialListPosition(int pos); + + int getLastCredentialListPosition(); } } |