From 1a10d546c76f474d33e23c5958c08aa0afcdae67 Mon Sep 17 00:00:00 2001 From: sujinwen <sujinwen@454eff88-639b-444f-9e54-f578c98de674> Date: 星期一, 24 七月 2017 11:46:45 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInLeftVisitor.java | 36 +++++++++++------------------------- 1 files changed, 11 insertions(+), 25 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInLeftVisitor.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInLeftVisitor.java index 7aac8fd..6f6fe49 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInLeftVisitor.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInLeftVisitor.java @@ -1,6 +1,7 @@ package cn.com.basic.face.widget.checkin; import android.content.Context; +import android.os.Parcelable; import android.support.v7.widget.RecyclerView; import android.util.AttributeSet; @@ -15,8 +16,9 @@ public class CheckInLeftVisitor extends EasyRecyclerView { - private CheckInFragment.CheckInLeftVisitorAdapter adapter = new CheckInFragment.CheckInLeftVisitorAdapter(); - private List list = new ArrayList(); + private static CheckInFragment.CheckInLeftVisitorAdapter adapter = new CheckInFragment.CheckInLeftVisitorAdapter(); + private static List list = new ArrayList(); + private static Parcelable recyclerViewState; public void setAdapter(Context context) { setAdapter(adapter); @@ -37,31 +39,15 @@ setAdapter(context); } - public void show(List list, boolean append) { - refresh(list, append); - } - - public void refresh(List theNewList, boolean append) { - if (append) { - List oldList = adapter.getList(); - List newList = new ArrayList(); - if (oldList.size() > 0 && oldList.get(oldList.size()-1) instanceof Integer && - ((int)oldList.get(oldList.size()-1))== CommonVariables.Page.hasMorePages) { - oldList.remove(oldList.size() - 1); - } - if (oldList.size() > 0 && oldList.get(oldList.size()-1) instanceof - Integer && ((int)oldList.get(oldList.size()-1))== CommonVariables.Page.noMorePage) { - oldList.remove(oldList.size() - 1); - } - if (oldList.size() > 0) { - this.scrollToPosition(oldList.size()-1); - } - oldList.addAll(theNewList); - } else { - adapter.setList(theNewList); - } + public void show(List list) { + recyclerViewState = this.getLayoutManager().onSaveInstanceState(); + adapter.setList(list); this.setAdapter(adapter); adapter.notifyDataSetChanged(); + this.getLayoutManager().onRestoreInstanceState(recyclerViewState); } + public List getPrevList() { + return adapter.getList(); + } } -- Gitblit v1.8.0