VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/CheckInRightCellAdapter.java
@@ -38,6 +38,10 @@ this.type = type; } public CheckInRightCellAdapter(Context mContext) { this.mContext = mContext; } @Override public int[] getItemLayouts() { return new int[]{R.layout.fragment_check_in_left_visitor_row, R.layout.fragment_check_in_left_interviewee_row}; @@ -46,10 +50,10 @@ @Override public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) { switch (type) { case Constant.VISITOR_CELL: case Constant.VISITOR_ROW: visitorCellHolder(viewHolder, position); break; case Constant.INTERVIEWEE_CELL: case Constant.INTERVIEWEE_ROW: intervieweeCellHolder(viewHolder, position); break; } @@ -58,9 +62,9 @@ @Override public int getRecycleViewItemType(int position) { switch (type) { case Constant.VISITOR_CELL: case Constant.VISITOR_ROW: return 0; case Constant.INTERVIEWEE_CELL: case Constant.INTERVIEWEE_ROW: return 1; default: return 1; @@ -147,4 +151,16 @@ this.mTypeColor = type; } public void setVisitorRow() { this.type = Constant.VISITOR_ROW; } public void setIntervieweeRow() { this.type = Constant.INTERVIEWEE_ROW; } public void setRowType(int type) { this.type = type; } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java
@@ -22,6 +22,7 @@ import cn.com.basic.face.base.MainActivity; import cn.com.basic.face.util.Constant; import cn.com.basic.face.widget.CheckInIntervieweeCell; import cn.com.basic.face.widget.CheckInLeftListView; import cn.com.basic.face.widget.CheckInRightVisitorCell; import cn.com.basic.face.widget.VisitPurposeDialog; import com.camnter.easyrecyclerview.widget.EasyRecyclerView; @@ -64,7 +65,7 @@ @ViewInject(R.id.fragment_check_in_right_visitor_cell) private CheckInRightVisitorCell fragment_check_in_right_visitor_cell; @ViewInject(R.id.fragment_check_in_left_list_view) private EasyRecyclerView fragment_check_in_left_list_view; private CheckInLeftListView fragment_check_in_left_list_view; @ViewInject(R.id.fragment_check_in_right_remark) private EditText fragment_check_in_right_remark; @ViewInject(R.id.fragment_check_in_right_visitor_reason) @@ -77,6 +78,8 @@ private RadioButton fragment_check_in_left_sort_by_dept_radio_button; @ViewInject(R.id.fragment_check_in_left_interviewee_radio) private RadioButton fragment_check_in_left_interviewee_radio; @ViewInject(R.id.fragment_check_in_left_sort_by_name_radio_button) private RadioButton fragment_check_in_left_sort_by_name_radio_button; private CheckInMng manager = CheckInMng.getInstance(); @@ -94,7 +97,7 @@ public View addLeftLayout() { fragment_check_in_left = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_check_in_left,null); ViewUtils.inject(this, fragment_check_in_left); mAdapter = new CheckInRightCellAdapter(getActivity(),Constant.VISITOR_CELL); mAdapter = new CheckInRightCellAdapter(getActivity(),Constant.VISITOR_ROW); return fragment_check_in_left; } @@ -115,91 +118,33 @@ fragment_check_in_left_radio_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { switch (radioGroup.getCheckedRadioButtonId()){ case R.id.fragment_check_in_left_visitor_radio: fragment_check_in_left_sort_type_linear_layout.setVisibility(View.GONE); mAdapter = new CheckInRightCellAdapter(getActivity(), Constant.VISITOR_CELL); CheckInMng.getInstance().findVisitorList("1", fragment_check_in_left_search_edit_text.getText().toString(), true); break; case R.id.fragment_check_in_left_interviewee_radio: fragment_check_in_left_sort_type_linear_layout.setVisibility(View.VISIBLE); mAdapter = new CheckInRightCellAdapter(getActivity(), Constant.INTERVIEWEE_CELL); mAdapter.set_fragment_check_in_left_sort_radio_group_type(CheckInRightCellAdapter.TYPE_NAME); CheckInMng.getInstance().findIntervieweeList("1", fragment_check_in_left_search_edit_text.getText().toString(), true); break; } reloadCheckInLeftList(); } }); fragment_check_in_left_sort_radio_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup radioGroup, int i) { switch (radioGroup.getCheckedRadioButtonId()){ case R.id.fragment_check_in_left_sort_by_name_radio_button: mAdapter.set_fragment_check_in_left_sort_radio_group_type(CheckInRightCellAdapter.TYPE_NAME); sort(mList, false); refresh_fragment_check_in_left_list_view(); break; case R.id.fragment_check_in_left_sort_by_dept_radio_button: mAdapter.set_fragment_check_in_left_sort_radio_group_type(CheckInRightCellAdapter.TYPE_DEPARTMENT); sort(mList, true); refresh_fragment_check_in_left_list_view(); break; } reloadCheckInLeftList(); } }); fragment_check_in_left_search_edit_text.addTextChangedListener(new TextWatcher() { public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {} public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {} public void afterTextChanged(Editable editable) { loadList(); } public void afterTextChanged(Editable editable) { reloadCheckInLeftList(); } }); } public void loadList() { if (fragment_check_in_left_visitor_radio.isChecked()) { manager.findVisitorList(1+"", fragment_check_in_left_search_edit_text.getText().toString(), true); } else { manager.findIntervieweeList(1+"", fragment_check_in_left_search_edit_text.getText().toString(), true); } } public void listChanged(List list, boolean isClear) { if (isClear) { mList.clear(); } if (fragment_check_in_left_sort_by_dept_radio_button.isChecked()) { sort(list, false); } else { sort(list, true); } mList.addAll(list); refresh_fragment_check_in_left_list_view(); } private void refresh_fragment_check_in_left_list_view() { mAdapter.setList(mList); fragment_check_in_left_list_view.setAdapter(mAdapter); } private void sort(List<CheckInQueryItem> list, final boolean sortedByDept) { Collections.sort(list, new Comparator<CheckInQueryItem>() { @Override public int compare(CheckInQueryItem t1, CheckInQueryItem t2) { if (sortedByDept) { String dept1Name = t1.getDeptName()==null?"":t1.getDeptName(); String dept2Name = t2.getDeptName()==null?"":t2.getDeptName(); if(!dept1Name.equals(dept2Name)) { return dept1Name.compareTo(dept2Name); } } String name1 = t1.getName()==null?"":t1.getName(); String name2 = t2.getName()==null?"":t2.getName(); return name1.compareTo(name2); } }); private void reloadCheckInLeftList() { manager.findCheckInLeftList(fragment_check_in_left_visitor_radio.isChecked(), fragment_check_in_left_sort_by_dept_radio_button.isChecked(), fragment_check_in_left_search_edit_text.getText().toString()); } @Override protected void initData() { loadList(); } protected void initData() { manager.findCheckInLeftList(true, false, fragment_check_in_left_search_edit_text.getText().toString()); } @OnClick(R.id.fragment_check_in_left_back) public void back(View view) { @@ -207,14 +152,10 @@ } @OnClick(R.id.fragment_check_in_right_print) public void print(View view) { } public void print(View view) { } @OnClick(R.id.fragment_check_in_right_add) public void add(View view) { } public void add(View view) { } @OnClick(R.id.fragment_check_in_right_save) public void save(View view) { @@ -254,4 +195,7 @@ this.visitPurposeList = visitPurposeList; } public CheckInLeftListView get_fragment_check_in_left_list_view() { return fragment_check_in_left_list_view; } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/HomeFragment.java
@@ -226,13 +226,6 @@ mRecyclerViewRegister.setAdapter(mAdapter); } public void visitorListChanged(List<CheckInQueryItem> list) { mList.clear(); mList.addAll(list); mAdapter.setList(mList); mRecyclerViewRegister.setAdapter(mAdapter); } private class SpaceItemDecoration extends RecyclerView.ItemDecoration { @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java
@@ -48,11 +48,11 @@ mRecyclerView = (EasyRecyclerView) mViewLeft.findViewById(R.id.fragment_check_in_left_list_view); LinearLayoutManager manager = new LinearLayoutManager(getActivity(),LinearLayoutManager.VERTICAL,false); mRecyclerView.setLayoutManager(manager); mAdapter = new CheckInRightCellAdapter(getActivity(),Constant.VISITOR_CELL); mAdapter = new CheckInRightCellAdapter(getActivity(),Constant.VISITOR_ROW); ViewUtils.inject(this, mViewLeft); mLlRadioGroupClass.setVisibility(View.VISIBLE); mAdapter = new CheckInRightCellAdapter(getActivity(), Constant.INTERVIEWEE_CELL); mAdapter = new CheckInRightCellAdapter(getActivity(), Constant.INTERVIEWEE_ROW); mAdapter.set_fragment_check_in_left_sort_radio_group_type(CheckInRightCellAdapter.TYPE_NAME); mAdapter.setList(mList); mRecyclerView.setAdapter(mAdapter); @@ -76,13 +76,13 @@ switch (radioGroup.getCheckedRadioButtonId()){ case R.id.fragment_check_in_left_visitor_radio: mLlRadioGroupClass.setVisibility(View.GONE); mAdapter = new CheckInRightCellAdapter(getActivity(), Constant.VISITOR_CELL); mAdapter = new CheckInRightCellAdapter(getActivity(), Constant.VISITOR_ROW); mAdapter.setList(mList); mRecyclerView.setAdapter(mAdapter); break; case R.id.fragment_check_in_left_interviewee_radio: mLlRadioGroupClass.setVisibility(View.VISIBLE); mAdapter = new CheckInRightCellAdapter(getActivity(), Constant.INTERVIEWEE_CELL); mAdapter = new CheckInRightCellAdapter(getActivity(), Constant.INTERVIEWEE_ROW); mAdapter.set_fragment_check_in_left_sort_radio_group_type(CheckInRightCellAdapter.TYPE_NAME); mAdapter.setList(mList); mRecyclerView.setAdapter(mAdapter); VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java
@@ -10,6 +10,10 @@ import org.xutils.http.RequestParams; import org.xutils.x; import java.util.Collections; import java.util.Comparator; import java.util.List; 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.CheckInQueryItem; @@ -36,7 +40,7 @@ params.addBodyParameter(VisitorQueryCondition.FieldNames.name, name); x.http().post(params, new BaseCommonCallBack() { public void success() { CheckInFragment.getInstance().listChanged(getList(CheckInQueryItem.class), isClear); //CheckInFragment.getInstance().listChanged(getList(CheckInQueryItem.class), isClear); } }); } @@ -50,7 +54,7 @@ params.addBodyParameter(VisitorQueryCondition.FieldNames.notCompanyId, BaseApplication.getInstance().getPlace().getCompanyId()); x.http().post(params, new BaseCommonCallBack() { public void success() { HomeFragment.getInstance().visitorListChanged(getList(CheckInQueryItem.class)); //HomeFragment.getInstance().visitorListChanged(getList(CheckInQueryItem.class)); } }); } @@ -64,7 +68,7 @@ params.addBodyParameter(VisitorQueryCondition.FieldNames.name, name); x.http().post(params, new BaseCommonCallBack() { public void success() { CheckInFragment.getInstance().listChanged(getList(CheckInQueryItem.class), isClear); //CheckInFragment.getInstance().listChanged(getList(CheckInQueryItem.class), isClear); } }); } @@ -85,6 +89,40 @@ } public void findCheckInLeftList(final boolean isVisitorList, final boolean isSortByDept, String searchText) { RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.CheckInQuery); if (isVisitorList) { params.addBodyParameter(VisitorQueryCondition.FieldNames.notCompanyId, BaseApplication.getInstance().getPlace().getCompanyId()); } else { params.addBodyParameter(VisitorQueryCondition.FieldNames.companyId, BaseApplication.getInstance().getPlace().getCompanyId()); } params.addBodyParameter(VisitorQueryCondition.FieldNames.name, searchText); x.http().post(params, new BaseCommonCallBack() { public void success() { List<CheckInQueryItem> list = getList(CheckInQueryItem.class); sort(list, isSortByDept); CheckInFragment.getInstance().get_fragment_check_in_left_list_view().show(list, isVisitorList); } }); } private void sort(List<CheckInQueryItem> list, final boolean sortedByDept) { Collections.sort(list, new Comparator<CheckInQueryItem>() { @Override public int compare(CheckInQueryItem t1, CheckInQueryItem t2) { if (sortedByDept) { String dept1Name = t1.getDeptName()==null?"":t1.getDeptName(); String dept2Name = t2.getDeptName()==null?"":t2.getDeptName(); if(!dept1Name.equals(dept2Name)) { return dept1Name.compareTo(dept2Name); } } String name1 = t1.getName()==null?"":t1.getName(); String name2 = t2.getName()==null?"":t2.getName(); return name1.compareTo(name2); } }); } /** * 查询拜访事由列表 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/IntervieweeQueryMng.java
@@ -28,7 +28,7 @@ params.addBodyParameter(IntervieweeQueryCondition.FieldNames.name, name); x.http().post(params, new BaseCommonCallBack() { public void success() { CheckInFragment.getInstance().listChanged(getList(IntervieweeQueryItem.class), isClear); //CheckInFragment.getInstance().listChanged(getList(IntervieweeQueryItem.class), isClear); } }); VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java
@@ -5,5 +5,5 @@ */ public class Constant { public static final int INTERVIEWEE_CELL = 1, VISITOR_CELL = 2; public static final int INTERVIEWEE_ROW = 1, VISITOR_ROW = 2; } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/CheckInLeftListView.java
New file @@ -0,0 +1,71 @@ package cn.com.basic.face.widget; import android.content.Context; import android.util.AttributeSet; import com.camnter.easyrecyclerview.widget.EasyRecyclerView; import java.util.ArrayList; import java.util.List; import cn.com.basic.face.adapter.CheckInRightCellAdapter; import cn.com.basic.face.fragment.CheckInFragment; import cn.com.basic.face.service.CheckInMng; import cn.com.basic.face.util.Constant; public class CheckInLeftListView extends EasyRecyclerView { CheckInRightCellAdapter mAdapter; private List list = new ArrayList(); public void setAdapter(Context context) { mAdapter = new CheckInRightCellAdapter(context); mAdapter.setList(list); setAdapter(mAdapter); } public CheckInLeftListView(Context context) { super(context); setAdapter(context); } public CheckInLeftListView(Context context, AttributeSet attrs) { super(context, attrs); setAdapter(context); } public CheckInLeftListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); setAdapter(context); } public void loadVisitorList(String name) { CheckInMng.getInstance().findVisitorList("1", name, true); mAdapter.setVisitorRow(); } public void loadIntervieweeListSortByName(String name) { mAdapter.setIntervieweeRow(); CheckInMng.getInstance().findIntervieweeList("1", name, true); } public void loadIntervieweeListSortByDept(String name) { mAdapter.setIntervieweeRow(); CheckInMng.getInstance().findIntervieweeList("1", name, true); } public void reloadCheckInLeftList(boolean isVisitorList, boolean isSortByName, String searchText) { List list = new ArrayList(); CheckInFragment.getInstance().get_fragment_check_in_left_list_view().show(list, isVisitorList); } public void show(List list, boolean isVisitorList) { this.list.clear(); mAdapter.setRowType(isVisitorList? Constant.VISITOR_ROW:Constant.INTERVIEWEE_ROW); this.list.addAll(list); mAdapter.setList(this.list); this.setAdapter(mAdapter); } } VisitFace/DemoForBsk/app/src/main/res/layout/fragment_check_in_left.xml
@@ -101,10 +101,10 @@ android:layout_height="wrap_content" /> </RadioGroup> </LinearLayout> <com.camnter.easyrecyclerview.widget.EasyRecyclerView <cn.com.basic.face.widget.CheckInLeftListView android:id="@+id/fragment_check_in_left_list_view" android:layout_width="match_parent" android:layout_height="match_parent"></com.camnter.easyrecyclerview.widget.EasyRecyclerView> android:layout_height="match_parent"/> </LinearLayout> </LinearLayout> </LinearLayout>