From 109ffe9a777658936a38d0c146579a67c60a0d17 Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期四, 11 五月 2017 17:48:48 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInLeftVisitor.java | 32 +++++++++----------------------- 1 files changed, 9 insertions(+), 23 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..8523605 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; @@ -17,6 +18,7 @@ private CheckInFragment.CheckInLeftVisitorAdapter adapter = new CheckInFragment.CheckInLeftVisitorAdapter(); private List list = new ArrayList(); + private 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