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; } 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) 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); } }); 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); }