From 4b83e449973eff3303ba813806c1edfafd323347 Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期五, 31 三月 2017 15:20:06 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java | 2 - VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SupervisoryMng.java | 69 +++++++++++++++++++++++++++++++--- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SupervisoryFragment.java | 2 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/SupervisoryBottomListView.java | 2 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SupervisoryBottomListViewAdapter.java | 15 ++++--- VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory_bottom_visit_blank_cell.xml | 7 +++ VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java | 2 + VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory.xml | 19 +-------- 8 files changed, 86 insertions(+), 32 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SupervisoryBottomListViewAdapter.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SupervisoryBottomListViewAdapter.java index b0267cf..11717ec 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SupervisoryBottomListViewAdapter.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SupervisoryBottomListViewAdapter.java @@ -27,7 +27,7 @@ @Override public int[] getItemLayouts() { - return new int[]{R.layout.fragment_supervisory_bottom_register_cell,R.layout.fragment_supervisory_bottom_visitor_cell}; + return new int[]{R.layout.fragment_supervisory_bottom_register_cell,R.layout.fragment_supervisory_bottom_visitor_cell, R.layout.fragment_supervisory_bottom_visit_blank_cell}; } @Override @@ -44,12 +44,15 @@ @Override public int getRecycleViewItemType(int position) { - int itemType = ((SupervisoryQueryItem)getList().get(position)).getType(); - if (itemType == Constant.Supervisory.VISIT_REGISTER_ITEM_TYPE) { - return Constant.Supervisory.REGISTER_CELL_VIEW_INDEX; - } else { - return Constant.Supervisory.CHECK_IN_CELL_VIEW_INDEX; + switch (((SupervisoryQueryItem)getList().get(position)).getType()) { + case Constant.Supervisory.VISIT_REGISTER_ITEM_TYPE: + return Constant.Supervisory.REGISTER_CELL_VIEW_INDEX; + case Constant.Supervisory.VISIT_CHECK_IN_ITEM_TYPE: + return Constant.Supervisory.CHECK_IN_CELL_VIEW_INDEX; + case Constant.Supervisory.VISIT_BLANK_ITEM_TYPE: + return Constant.Supervisory.VISIT_BLANK_CELL_VIEW_INDEX; } + return Constant.Supervisory.VISIT_BLANK_CELL_VIEW_INDEX; } /** diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java index fddf50e..aef6b4f 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java @@ -95,13 +95,11 @@ public void onCheckedChanged(RadioGroup radioGroup, int i) { switch (radioGroup.getCheckedRadioButtonId()){ case R.id.fragment_check_in_left_sort_by_name_radio_button: -// mAdapter.setVisitorToTextColor(CheckInLeftListViewAdapter.TYPE_NAME); mAdapter.set_fragment_check_in_left_sort_radio_group_type(CheckInLeftListViewAdapter.TYPE_NAME); mAdapter.setList(mList); mRecyclerView.setAdapter(mAdapter); break; case R.id.fragment_check_in_left_sort_by_dept_radio_button: -// mAdapter.setVisitorToTextColor(CheckInLeftListViewAdapter.TYPE_DEPARTMENT); mAdapter.set_fragment_check_in_left_sort_radio_group_type(CheckInLeftListViewAdapter.TYPE_DEPARTMENT); mAdapter.setList(mList); mRecyclerView.setAdapter(mAdapter); diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SupervisoryFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SupervisoryFragment.java index fc71781..759164a 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SupervisoryFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SupervisoryFragment.java @@ -34,7 +34,7 @@ private View fragment_supervisory_bottom_visitor_background; @ViewInject(R.id.fragment_supervisory_bottom_attendance_background) private View fragment_supervisory_bottom_attendance_background; - @ViewInject(R.id.fragment_supervisory_bottom_visit_register_list_view) + @ViewInject(R.id.fragment_supervisory_bottom_visit_list_view) private SupervisoryBottomListView fragment_supervisory_bottom_visit_list_view; @ViewInject(R.id.fragment_supervisory_bottom_attendance_list_view) private SupervisoryBottomListView fragment_supervisory_bottom_attendance_list_view; diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SupervisoryMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SupervisoryMng.java index 470afd8..32fce45 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SupervisoryMng.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SupervisoryMng.java @@ -3,11 +3,12 @@ import org.xutils.http.RequestParams; import org.xutils.x; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.List; -import cn.com.basic.face.base.BaseApplication; import cn.com.basic.face.discern.common.BaseCommonCallBack; -import cn.com.basic.face.discern.query.condition.VisitorQueryCondition; import cn.com.basic.face.discern.query.item.SupervisoryQueryItem; import cn.com.basic.face.fragment.SupervisoryFragment; import cn.com.basic.face.util.AppApi; @@ -32,11 +33,21 @@ x.http().post(params, new BaseCommonCallBack() { public void success() { List<SupervisoryQueryItem> list = getList(SupervisoryQueryItem.class); - for (SupervisoryQueryItem item : list) { - item.setType(Constant.Supervisory.VISIT_CHECK_IN_ITEM_TYPE); - } if (isVisit) { - SupervisoryFragment.getInstance().get_fragment_supervisory_bottom_visit_list_view().show(list, true); + int i = 0; + for (SupervisoryQueryItem item : list) { + if (i % 5 == 0) { + item.setType(Constant.Supervisory.VISIT_REGISTER_ITEM_TYPE); + } else { + item.setType(Constant.Supervisory.VISIT_CHECK_IN_ITEM_TYPE); + } + i++; + } + + List<SupervisoryQueryItem> doubleList = new ArrayList<SupervisoryQueryItem>(); + fillBlank(list, doubleList); + + SupervisoryFragment.getInstance().get_fragment_supervisory_bottom_visit_list_view().show(doubleList, true); } else { SupervisoryFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().show(list, true); } @@ -44,4 +55,50 @@ }); } + + private void fillBlank(List<SupervisoryQueryItem> list, List<SupervisoryQueryItem> doubleList) { + List<SupervisoryQueryItem> registerList = new ArrayList<SupervisoryQueryItem>(); + List<SupervisoryQueryItem> checkInList = new ArrayList<SupervisoryQueryItem>(); + + for (SupervisoryQueryItem item : list) { + if (item.getType() == Constant.Supervisory.VISIT_REGISTER_ITEM_TYPE) { + registerList.add(item); + } + if (item.getType() == Constant.Supervisory.VISIT_CHECK_IN_ITEM_TYPE) { + checkInList.add(item); + } + } + + List<SupervisoryQueryItem> blenderList = new ArrayList<SupervisoryQueryItem>(); + + int i = 0, m = 0, n = 0; + for (i = 0; i < registerList.size() + checkInList.size(); i++) { + SupervisoryQueryItem item; + if (i % 2 == 0 && m < registerList.size()) { + item = registerList.get(m); + m++; + } else { + item = checkInList.get(n); + n++; + } + blenderList.add(item); + } + + for (SupervisoryQueryItem item : blenderList) { + if (doubleList.size() % 2 == 0 && item.getType() != Constant.Supervisory.VISIT_REGISTER_ITEM_TYPE) { + doubleList.add(getBlankItem()); + } + if (doubleList.size() % 2 != 0 && item.getType() != Constant.Supervisory.VISIT_CHECK_IN_ITEM_TYPE) { + doubleList.add(getBlankItem()); + } + doubleList.add(item); + } + } + + private SupervisoryQueryItem getBlankItem() { + SupervisoryQueryItem blankItem = new SupervisoryQueryItem(); + blankItem.setType(Constant.Supervisory.VISIT_BLANK_ITEM_TYPE); + return blankItem; + } + } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java index df63b01..6480bf5 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java @@ -16,9 +16,11 @@ public static class Supervisory { public static final int VISIT_REGISTER_ITEM_TYPE = 1; public static final int VISIT_CHECK_IN_ITEM_TYPE = 2; + public static final int VISIT_BLANK_ITEM_TYPE = 3; public static final int REGISTER_CELL_VIEW_INDEX = 0; public static final int CHECK_IN_CELL_VIEW_INDEX = 1; + public static final int VISIT_BLANK_CELL_VIEW_INDEX = 2; } } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/SupervisoryBottomListView.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/SupervisoryBottomListView.java index 8f53f9e..1080e2f 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/SupervisoryBottomListView.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/SupervisoryBottomListView.java @@ -42,7 +42,7 @@ public void initLayout() { addItemDecoration(new SpaceItemDecoration()); - GridLayoutManager gridLayoutManager = new GridLayoutManager(MainActivity.getInstance(), 1); + GridLayoutManager gridLayoutManager = new GridLayoutManager(MainActivity.getInstance(), 2); gridLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); setLayoutManager(gridLayoutManager); } diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory.xml index c755dbc..bbd6374 100644 --- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory.xml +++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory.xml @@ -171,24 +171,11 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@android:color/white"> - <LinearLayout + <cn.com.basic.face.widget.SupervisoryBottomListView + android:id="@+id/fragment_supervisory_bottom_visit_list_view" android:layout_width="wrap_content" android:layout_height="match_parent" - android:orientation="vertical"> - <cn.com.basic.face.widget.SupervisoryBottomListView - android:id="@+id/fragment_supervisory_bottom_visit_register_list_view" - android:layout_width="wrap_content" - android:layout_height="0dp" - android:layout_weight="1" - android:orientation="vertical"/> - <cn.com.basic.face.widget.SupervisoryBottomListView - android:id="@+id/fragment_supervisory_bottom_visit_check_in_list_view" - android:layout_width="wrap_content" - android:layout_height="0dp" - android:layout_weight="1" - android:orientation="vertical"/> - </LinearLayout> - + android:orientation="vertical"/> <cn.com.basic.face.widget.SupervisoryBottomListView android:id="@+id/fragment_supervisory_bottom_attendance_list_view" diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory_bottom_visit_blank_cell.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory_bottom_visit_blank_cell.xml new file mode 100644 index 0000000..f2335f1 --- /dev/null +++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory_bottom_visit_blank_cell.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/fragment_home_bottom_register_cell_relative_layout" + android:layout_width="wrap_content" + android:layout_height="wrap_content"> + +</RelativeLayout> \ No newline at end of file -- Gitblit v1.8.0