xuxiuxi
2017-05-03 b7fd23fb1b9d04eb8fa0d97a5d9747e145605612
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/AttendanceFragment.java
@@ -1,15 +1,23 @@
package cn.com.basic.face.adapter;
import android.view.View;
import android.widget.RadioButton;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.bsk.zhangbo.demoforbsk.R;
import com.camnter.easyrecyclerview.adapter.EasyRecyclerViewAdapter;
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;
public class AttendanceFragment {
    public static class AttendanceAdapter extends EasyRecyclerViewAdapter {
        private TextView mTvNumber,mTvTime,mTvAddress,mTvState;
    public static class AttendanceRightAdapter extends EasyRecyclerViewAdapter {
        @Override
        public int[] getItemLayouts() {
            return new int[]{R.layout.fragment_attendance_right_row};
@@ -17,8 +25,17 @@
        @Override
        public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) {
            mTvNumber = viewHolder.findViewById(R.id.item_attendance_num);
            mTvNumber.setText(position+1+"");
            AttendanceDetailQueryItem item = getItem(position);
            TextView fragment_attendance_right_row_num = viewHolder.findViewById(R.id.fragment_attendance_right_row_num);
            TextView fragment_attendance_right_row_time = viewHolder.findViewById(R.id.fragment_attendance_right_row_time);
            TextView fragment_attendance_right_row_address = viewHolder.findViewById(R.id.fragment_attendance_right_row_address);
            TextView fragment_attendance_right_row_status = viewHolder.findViewById(R.id.fragment_attendance_right_row_status);
            fragment_attendance_right_row_time.setText(item.getTime());
            fragment_attendance_right_row_address.setText(item.getDeviceName());
            fragment_attendance_right_row_status.setText(item.getAttendanceType());
            fragment_attendance_right_row_num.setText((position+1)+"");
        }
        @Override
@@ -27,4 +44,104 @@
        }
    }
    public static class AttendanceLeftAdapter extends EasyRecyclerViewAdapter {
        private int lastIndex = -1;
        private RadioButton lastRadioButton;
        @Override
        public int[] getItemLayouts() {
            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);
                SimpleDraweeView fragment_visit_left_person_row_photo = viewHolder.findViewById(R.id.fragment_attendance_left_person_row_photo);
                TextView fragment_visit_left_person_row_status = viewHolder.findViewById(R.id.fragment_attendance_left_person_row_status);
                RelativeLayout fragment_attendance_left_relative_layout = viewHolder.findViewById(R.id.fragment_attendance_left_relative_layout);
                final AttendanceQueryItem item = getItem(position);
                fragment_visit_left_person_row_status.setText(item.getAttendanceType());
                fragment_attendance_left_relative_layout.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        if (lastRadioButton != null && lastRadioButton != fragment_visit_left_person_row_check_box) {
                            lastRadioButton.setChecked(false);
                        }
                        lastRadioButton = fragment_visit_left_person_row_check_box;
                        cn.com.basic.face.fragment.AttendanceFragment.getInstance().setVisitorInfo(item);
                        lastIndex = position;
                        fragment_visit_left_person_row_check_box.setChecked(true);
                        notifyDataSetChanged();
                    }
                });
                fragment_visit_left_person_row_check_box.setChecked(false);
                if (lastIndex == position) {
                    fragment_visit_left_person_row_check_box.setChecked(true);
                }
                fragment_visit_left_person_row_name.setText(item.getUsername());
                //fragment_visit_left_person_row_status.setText(item.getStatus());
                fragment_visit_left_person_row_photo.setImageURI(AppApi.IMAGE_URL_BASE +item.getSurveillancePhoto());
                View fragment_visit_left_line = viewHolder.findViewById(R.id.fragment_attendance_left_line);
                fragment_visit_left_line.setVisibility(View.VISIBLE);
                if (position < (getListSize()-1) && (getItem(position+1) instanceof String)) {
                    fragment_visit_left_line.setVisibility(View.GONE);
                }
                if (position == getListSize() - 1) {
                    fragment_visit_left_line.setVisibility(View.GONE);
                }
            } else {
                TextView fragment_visit_left_date_row_date = viewHolder.findViewById(R.id.fragment_attendance_left_date_row_date);
                fragment_visit_left_date_row_date.setText(getItem(position)+"");
            }
        }
        @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;
            }
            return 0;
        }
    }
}