From f618b6e027a7dc230d536dc76b543502d89f6f1d Mon Sep 17 00:00:00 2001
From: XinYiWorld <1349308479@qq.com>
Date: Fri, 26 May 2017 11:31:41 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=B0=E5=BF=86=E9=80=89?=
=?UTF-8?q?=E6=8B=A9=E7=9A=84=E4=BD=8D=E7=BD=AE=E7=9A=84=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/misc.xml | 2 +-
.idea/workspace.xml | 154 ++++++++++++++++--
.../czsuperadapter/main/CZSuperAdapter.java | 25 ++-
.../czsuperadapter/main/MultiTypeMaker.java | 23 ++-
4 files changed, 183 insertions(+), 21 deletions(-)
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 5d19981..fbb6828 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -37,7 +37,7 @@
-
+
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 1d3f086..465a369 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -1,15 +1,14 @@
+
+
+
-
-
-
-
-
+
-
+
@@ -62,14 +61,31 @@
-
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2605,6 +2621,8 @@
@@ -2658,6 +2676,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2672,6 +2762,11 @@
+
+
+
+
+
@@ -2869,7 +2964,7 @@
-
+
@@ -2879,7 +2974,7 @@
-
+
@@ -2888,7 +2983,7 @@
-
+
@@ -2944,13 +3039,36 @@
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
diff --git a/libary/src/main/java/com/xinyi/czsuperadapter/main/CZSuperAdapter.java b/libary/src/main/java/com/xinyi/czsuperadapter/main/CZSuperAdapter.java
index 1b27cef..c94e994 100644
--- a/libary/src/main/java/com/xinyi/czsuperadapter/main/CZSuperAdapter.java
+++ b/libary/src/main/java/com/xinyi/czsuperadapter/main/CZSuperAdapter.java
@@ -9,6 +9,7 @@
import com.xinyi.czsuperadapter.ICRUDAdapter;
import com.xinyi.czsuperadapter.interfaces.IAddTypeMaker;
+import com.xinyi.czsuperadapter.interfaces.IMemoryPosition;
import com.xinyi.czsuperadapter.interfaces.IRemoveTypeMaker;
/**
@@ -24,7 +25,7 @@
* 4)点击事件与刷新冲突(未解决)
*/
-public class CZSuperAdapter extends ICRUDAdapter implements IAddTypeMaker,IRemoveTypeMaker {
+public class CZSuperAdapter extends ICRUDAdapter implements IAddTypeMaker,IRemoveTypeMaker,IMemoryPosition {
private static final String TAG = "CZSuperAdapter";
private RecyclerView recyclerView;
private MultiTypeMaker mNormalTypeMaker;
@@ -34,6 +35,11 @@ public class CZSuperAdapter extends ICRUDAdapter implements IAddTypeMaker,
private CommonViewHolder.OnItemClickListener onItemClickListener;
private CommonViewHolder.OnItemLongClickListener onItemLongClickListener;
+
+ //记忆位置
+ private int previousSelectPosition = -1;
+
+
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
super.onAttachedToRecyclerView(recyclerView);
@@ -332,4 +338,21 @@ public void setOnItemClickListener(final CommonViewHolder.OnItemClickListener li
public void setOnItemLongClickListener(final CommonViewHolder.OnItemLongClickListener listener) {
this.onItemLongClickListener = listener;
}
+
+ //记忆位置(默认调用mNormalTypeMaker的方法,后期调用根据项目需求可以复写。)
+ @Override
+ public int getPreviousSelectPosition() {
+ return mNormalTypeMaker.getPreviousSelectPosition();
+ }
+
+ @Override
+ public void setPreviousSelectPosition(int previousSelectPosition) {
+ this.previousSelectPosition = previousSelectPosition;
+ mNormalTypeMaker.setPreviousSelectPosition(previousSelectPosition);
+ }
+
+ @Override
+ public void selectPosition(final int position){
+ mNormalTypeMaker.selectPosition(position);
+ }
}
diff --git a/libary/src/main/java/com/xinyi/czsuperadapter/main/MultiTypeMaker.java b/libary/src/main/java/com/xinyi/czsuperadapter/main/MultiTypeMaker.java
index 6610ff6..394c465 100644
--- a/libary/src/main/java/com/xinyi/czsuperadapter/main/MultiTypeMaker.java
+++ b/libary/src/main/java/com/xinyi/czsuperadapter/main/MultiTypeMaker.java
@@ -3,13 +3,14 @@
import android.support.v7.widget.RecyclerView;
import com.xinyi.czsuperadapter.interfaces.IBindRecyclerView;
+import com.xinyi.czsuperadapter.interfaces.IMemoryPosition;
/**
* Created by 陈章 on 2016/12/20 0020.
* func:
*/
-public abstract class MultiTypeMaker implements IBindRecyclerView {
+public abstract class MultiTypeMaker implements IBindRecyclerView ,IMemoryPosition{
public static final int TYPE_REFRESH = 1001; //下拉刷新
public static final int TYPE_HEADER = 1002; //头布局
public static final int TYPE_FOOTER = 1003; //脚布局
@@ -22,6 +23,11 @@ public abstract class MultiTypeMaker implements IBindRecyclerView {
private int type;
private T data;
+
+ //记忆位置
+ private int previousSelectPosition = -1;
+
+
public abstract int getType(int position);
public abstract int getLayoutId(int viewType);
public abstract void bindViewHolder(CommonViewHolder holder, T data, int viewType, int position);
@@ -69,4 +75,19 @@ public T getData() {
public void setData(T data) {
this.data = data;
}
+
+ @Override
+ public int getPreviousSelectPosition() {
+ return previousSelectPosition;
+ }
+
+ @Override
+ public void setPreviousSelectPosition(int previousSelectPosition) {
+ this.previousSelectPosition = previousSelectPosition;
+ }
+
+ @Override
+ public void selectPosition(final int position){
+
+ }
}