xuxiuxi
2017-03-30 8081d0d398ce1b2987f810e7e89e7c6fe473b4bc
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;
    }
}