From a029466c2f9ee07889923105939081bb8c8d77ad Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期一, 17 四月 2017 14:01:28 +0800
Subject: [PATCH]
---
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java | 13 ++++++
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/AttendanceFragment.java | 29 ++++++++++++++
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java | 20 +++++++++-
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceLeftListView.java | 20 +++++++++-
4 files changed, 76 insertions(+), 6 deletions(-)
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/AttendanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/AttendanceFragment.java
index 406349e..3903fe7 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/AttendanceFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/AttendanceFragment.java
@@ -10,6 +10,7 @@
import com.camnter.easyrecyclerview.holder.EasyRecyclerViewHolder;
import com.facebook.drawee.view.SimpleDraweeView;
+import cn.com.basic.face.discern.common.CommonVariables;
import cn.com.basic.face.discern.query.item.AttendanceDetailQueryItem;
import cn.com.basic.face.discern.query.item.AttendanceQueryItem;
import cn.com.basic.face.util.AppApi;
@@ -50,11 +51,28 @@
@Override
public int[] getItemLayouts() {
- return new int[]{R.layout.fragment_attendance_left_date_row, R.layout.fragment_attendance_left_person_row};
+ return new int[]{R.layout.fragment_attendance_left_date_row, R.layout.fragment_attendance_left_person_row,R.layout.load_more, R.layout.no_more, R.layout.reach_bottom};
}
@Override
public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, final int position) {
+ if (getItem(position) instanceof Integer && ((int)getItem(position))== CommonVariables.Page.reachBottom) {
+ return;
+ }
+ if (getItem(position) instanceof Integer && ((int)getItem(position))== CommonVariables.Page.noMorePage) {
+ return;
+ }
+ if (getItem(position) instanceof Integer && ((int)getItem(position))== CommonVariables.Page.hasMorePages) {
+ TextView load_more_text_view = viewHolder.findViewById(R.id.load_more_text_view);
+ load_more_text_view.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ cn.com.basic.face.fragment.AttendanceFragment.getInstance().addPageNum();
+ cn.com.basic.face.fragment.AttendanceFragment.getInstance().append();
+ }
+ });
+ return;
+ }
if(!(getItem(position) instanceof String)) {
final RadioButton fragment_visit_left_person_row_check_box = viewHolder.findViewById(R.id.fragment_attendance_left_person_row_check_box);
TextView fragment_visit_left_person_row_name = viewHolder.findViewById(R.id.fragment_attendance_left_person_row_name);
@@ -106,6 +124,15 @@
@Override
public int getRecycleViewItemType(int position) {
+ if (getItem(position) instanceof Integer && ((int)getItem(position))== CommonVariables.Page.reachBottom) {
+ return 4;
+ }
+ if (getItem(position) instanceof Integer && ((int)getItem(position))== CommonVariables.Page.noMorePage) {
+ return 3;
+ }
+ if (getItem(position) instanceof Integer && ((int)getItem(position))== CommonVariables.Page.hasMorePages) {
+ return 2;
+ }
if(!(getItem(position) instanceof String)) {
return 1;
}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java
index bac5886..22556c9 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java
@@ -49,6 +49,8 @@
@ViewInject(R.id.fragment_attendance_right_photo_placeholder_text_view)
private TextView fragment_attendance_right_photo_placeholder_text_view;
+ private int pageNum = 1;
+
public int[] getLeftRightLayoutIds() {
return new int[]{R.layout.fragment_attendance_left, R.layout.fragment_attendance_right};
}
@@ -74,8 +76,17 @@
private void reloadRightList() {
}
+ public void append() {
+ AttendanceMng.getInstance().reloadLeftList(fragment_attendance_left_search.getText().toString(), pageNum, true);
+ }
+
+ public void addPageNum() {
+ pageNum++;
+ }
+
private void reloadLeftList() {
- AttendanceMng.getInstance().reloadLeftList(fragment_attendance_left_search.getText().toString());
+ pageNum = 1;
+ AttendanceMng.getInstance().reloadLeftList(fragment_attendance_left_search.getText().toString(), pageNum, false);
}
@OnClick(R.id.fragment_attendance_left_back)
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java
index 70944ea..b4a6e44 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java
@@ -8,6 +8,7 @@
import java.util.List;
import cn.com.basic.face.discern.common.BaseCommonCallBack;
+import cn.com.basic.face.discern.common.CommonVariables;
import cn.com.basic.face.discern.query.condition.AttendanceDetailQueryCondition;
import cn.com.basic.face.discern.query.condition.AttendanceQueryCondition;
import cn.com.basic.face.discern.query.item.AttendanceDetailQueryItem;
@@ -22,9 +23,11 @@
return instance;
}
- public void reloadLeftList(String searchText) {
+ public void reloadLeftList(String searchText, final int pageNum, final boolean append) {
RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.ATTENDANCE_QUERY);
params.addBodyParameter(AttendanceQueryCondition.FieldNames.username, searchText);
+ params.addBodyParameter(CommonVariables.Page.PAGE_NUM, pageNum+"");
+ params.addBodyParameter(CommonVariables.Page.PAGE_SIZE, "7");
x.http().post(params, new BaseCommonCallBack() {
public void success() {
List<AttendanceQueryItem> list = getList(AttendanceQueryItem.class);
@@ -44,7 +47,20 @@
itemList.add(item);
i++;
}
- AttendanceFragment.getInstance().get_fragment_attendance_left_list_view().show(itemList);
+ if (hasMorePages()) {
+ itemList.add(CommonVariables.Page.hasMorePages);
+ } else {
+ if (getPageNum() > 1) {
+ itemList.add(CommonVariables.Page.reachBottom);
+ } else {
+ if (itemList.size() > 0) {
+ itemList.add(CommonVariables.Page.reachBottom);
+ } else {
+ itemList.add(CommonVariables.Page.noMorePage);
+ }
+ }
+ }
+ AttendanceFragment.getInstance().get_fragment_attendance_left_list_view().show(itemList, append);
}
});
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceLeftListView.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceLeftListView.java
index 4c57b35..42cfadf 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceLeftListView.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceLeftListView.java
@@ -5,10 +5,12 @@
import com.camnter.easyrecyclerview.widget.EasyRecyclerView;
+import java.util.ArrayList;
import java.util.List;
import cn.com.basic.face.adapter.AttendanceFragment;
import cn.com.basic.face.adapter.VisitFragment;
+import cn.com.basic.face.discern.common.CommonVariables;
public class AttendanceLeftListView extends EasyRecyclerView {
@@ -34,8 +36,22 @@
initView();
}
- public void show(List list) {
- adapter.setList(list);
+ public void show(List list, boolean append) {
+ if (append) {
+ List newList = new ArrayList();
+ if (adapter.getList().size() > 0 && adapter.getList().get(adapter.getList().size()-1) instanceof Integer && ((int)adapter.getList().get(adapter.getList().size()-1))== CommonVariables.Page.hasMorePages) {
+ adapter.getList().remove(adapter.getList().size() - 1);
+ }
+ if (adapter.getList().size() > 0 && adapter.getList().get(adapter.getList().size()-1) instanceof
+ Integer && ((int)adapter.getList().get(adapter.getList().size()-1))== CommonVariables.Page.noMorePage) {
+ adapter.getList().remove(adapter.getList().size() - 1);
+ }
+ newList.addAll(adapter.getList());
+ newList.addAll(list);
+ adapter.setList(newList);
+ } else {
+ adapter.setList(list);
+ }
setAdapter(adapter);
}
--
Gitblit v1.8.0