From 109ffe9a777658936a38d0c146579a67c60a0d17 Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期四, 11 五月 2017 17:48:48 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/AttendanceFragment.java | 76 +++++++++++++++++++++++++++++++++----- 1 files changed, 66 insertions(+), 10 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/AttendanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/AttendanceFragment.java index 9dede16..779cebe 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/AttendanceFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/AttendanceFragment.java @@ -1,8 +1,8 @@ package cn.com.basic.face.adapter; import android.view.View; -import android.widget.CompoundButton; import android.widget.RadioButton; +import android.widget.RelativeLayout; import android.widget.TextView; import com.bsk.zhangbo.demoforbsk.R; @@ -10,6 +10,9 @@ 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 { @@ -22,6 +25,17 @@ @Override public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) { + 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 @@ -32,34 +46,67 @@ 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}; + 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, int position) { + 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); - final cn.com.basic.face.service.vo.VisitFragment.VisitQueryItem item = getItem(position); - fragment_visit_left_person_row_check_box.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + + 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 onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + 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.VisitFragment.getInstance().setVisitInfo(item); + 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_name.setText(item.getName()); - fragment_visit_left_person_row_status.setText(item.getStatus()); - fragment_visit_left_person_row_photo.setImageURI(AppApi.IMAGEURL_BASE+item.getImagePath()); + 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); @@ -80,6 +127,15 @@ @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; } -- Gitblit v1.8.0