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 | 125 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 121 insertions(+), 4 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 792db0b..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,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; + } + + } + } -- Gitblit v1.8.0