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; } /** 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); 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; 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; } } 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; } } 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); } 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" VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory_bottom_visit_blank_cell.xml
New file @@ -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>