From 80d4bbd17d0dca09f6c27686d4060ecd0a17f0c6 Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期四, 06 四月 2017 14:42:36 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java | 77 +++++------- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/AttendanceFragment.java | 27 +++ VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceRightListView.java | 41 ++++++ VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java | 2 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java | 61 ++++++++++ VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceLeftListView.java | 42 +++++++ VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_person_row.xml | 55 +++++++++ VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_right.xml | 2 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/CheckInFragment.java | 8 + VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_date_row.xml | 14 ++ VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/AttendanceFragment.java | 4 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left.xml | 2 12 files changed, 285 insertions(+), 50 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..50c86ef 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 @@ -8,8 +8,7 @@ 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 +16,6 @@ @Override public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) { - mTvNumber = viewHolder.findViewById(R.id.item_attendance_num); - mTvNumber.setText(position+1+""); } @Override @@ -27,4 +24,26 @@ } } + public static class AttendanceLeftAdapter extends EasyRecyclerViewAdapter { + + @Override + public int[] getItemLayouts() { + return new int[]{R.layout.fragment_attendance_left_date_row, R.layout.fragment_attendance_left_person_row}; + } + + @Override + public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) { + + } + + @Override + public int getRecycleViewItemType(int position) { + if (position % 3 == 0) { + return 1; + } + return 0; + } + + } + } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java index 8ae89b8..e37f0b2 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java @@ -60,7 +60,7 @@ myFragmentPagerAdapter.addFragment(CheckInFragment.getInstance(), tabNamesList.get(2),tabIcons[2]); myFragmentPagerAdapter.addFragment(PhoneCallFragment.getInstance(), tabNamesList.get(3),tabIcons[3]); myFragmentPagerAdapter.addFragment(VisitFragment.getInstance(), tabNamesList.get(4),tabIcons[4]); - myFragmentPagerAdapter.addFragment(AttendanceFragment.newInstance(), tabNamesList.get(5),tabIcons[5]); + myFragmentPagerAdapter.addFragment(AttendanceFragment.getInstance(), tabNamesList.get(5),tabIcons[5]); myFragmentPagerAdapter.addFragment(DeviceFragment.newInstance(), tabNamesList.get(6),tabIcons[6]); mViewPager.setAdapter(myFragmentPagerAdapter); mViewPager.setOffscreenPageLimit(6);//viewpager缂撳瓨涓暟 diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java index 760ed19..2dab6c3 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java @@ -6,71 +6,54 @@ import android.widget.Toast; import com.bsk.zhangbo.demoforbsk.R; -import cn.com.basic.face.adapter.AttendanceFragment.AttendanceAdapter; +import cn.com.basic.face.adapter.AttendanceFragment.AttendanceRightAdapter; import cn.com.basic.face.adapter.VisitFragment.VisitLeftAdapter; import cn.com.basic.face.base.LeftRightBaseFragment; import cn.com.basic.face.base.MainActivity; +import cn.com.basic.face.service.AttendanceMng; +import cn.com.basic.face.widget.attendance.AttendanceLeftListView; +import cn.com.basic.face.widget.attendance.AttendanceRightListView; import com.camnter.easyrecyclerview.holder.EasyRecyclerViewHolder; import com.camnter.easyrecyclerview.widget.EasyRecyclerView; import com.lidroid.xutils.ViewUtils; +import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; import java.util.ArrayList; import java.util.List; -public class AttendanceFragment extends LeftRightBaseFragment implements EasyRecyclerViewHolder.OnItemClickListener{ - private View mViewLeft,mViewRight; - private EasyRecyclerView mRightRecyclerView,mLeftRecyclerView; - private AttendanceAdapter mRightAdapter; - private VisitLeftAdapter mLeftAdapter; - public static AttendanceFragment newInstance(){ - return new AttendanceFragment(); +public class AttendanceFragment extends LeftRightBaseFragment { + + private static AttendanceFragment instance = new AttendanceFragment(); + public static AttendanceFragment getInstance(){ + return instance; } - public View addLeftLayout() { - mViewLeft = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_attendance_left, null); - mLeftRecyclerView = (EasyRecyclerView) mViewLeft.findViewById(R.id.fragment_attendance_left_list_view); - LinearLayoutManager manager = new LinearLayoutManager(getActivity(),LinearLayoutManager.VERTICAL,false); - mLeftRecyclerView.setLayoutManager(manager); - mLeftAdapter = new VisitLeftAdapter(); - ViewUtils.inject(this, mViewLeft); - return mViewLeft; - } + @ViewInject(R.id.fragment_attendance_left_list_view) + private AttendanceLeftListView fragment_attendance_left_list_view; + @ViewInject(R.id.fragment_attendance_right_list_view) + private AttendanceRightListView fragment_attendance_right_list_view; - - public View addRightLayout() { - mViewRight = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_attendance_right, null); - mRightRecyclerView = (EasyRecyclerView) mViewRight.findViewById(R.id.fragment_attendance_right_list_view); - mRightAdapter = new AttendanceAdapter(); - ViewUtils.inject(this, mViewRight); - return mViewRight; + public int[] getLeftRightLayoutIds() { + return new int[]{R.layout.fragment_attendance_left, R.layout.fragment_attendance_right}; } @Override - protected void initListeners() { - mLeftAdapter.setOnItemClickListener(this); - } - - @Override - protected void initData() { - List list = new ArrayList(); - for (int i = 0;i<20;i++){ - list.add(""); + public void setMenuVisibility(boolean menuVisible) { + super.setMenuVisibility(menuVisible); + if (menuVisible && fragment_attendance_left_list_view != null && fragment_attendance_right_list_view != null) { + reloadLeftList(); + reloadRightList(); } - mRightAdapter.setList(list); - mRightRecyclerView.setAdapter(mRightAdapter); - mLeftAdapter.setList(list); - mLeftRecyclerView.setAdapter(mLeftAdapter); } - @Override - public void onItemClick(View convertView, int position) { - if (position ==0 ||position ==3 ||position ==8){ + private void reloadRightList() { + AttendanceMng.getInstance().reloadRightList(); + } - }else { - Toast.makeText(getActivity(),position+"",Toast.LENGTH_SHORT).show(); - } + private void reloadLeftList() { + AttendanceMng.getInstance().reloadLeftList(""); } @OnClick(R.id.fragment_attendance_left_back) @@ -78,4 +61,12 @@ MainActivity.selectPage(0); } + public AttendanceLeftListView get_fragment_attendance_left_list_view() { + return fragment_attendance_left_list_view; + } + + public AttendanceRightListView get_fragment_attendance_right_list_view() { + return fragment_attendance_right_list_view; + } + } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java index a120cd5..82489ab 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/AttendanceMng.java @@ -1,4 +1,65 @@ package cn.com.basic.face.service; +import org.xutils.http.RequestParams; +import org.xutils.x; + +import java.util.ArrayList; +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.fragment.AttendanceFragment; +import cn.com.basic.face.service.vo.VisitFragment; +import cn.com.basic.face.util.AppApi; + public class AttendanceMng { + + private static AttendanceMng instance = new AttendanceMng(); + public static AttendanceMng getInstance() { + return instance; + } + + + public void reloadRightList() { + RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.CheckInQuery); + x.http().post(params, new BaseCommonCallBack() { + public void success() { + List<VisitFragment.VisitQueryItem> list = getList(VisitFragment.VisitQueryItem.class); + String date = ""; + List itemList = new ArrayList(); + int i = 0; + for (VisitFragment.VisitQueryItem item : list) { + if (i % 3 == 0) { + itemList.add("2016-10-10"); + } + itemList.add(item); + i++; + } + AttendanceFragment.getInstance().get_fragment_attendance_right_list_view().show(itemList); + } + }); + } + + public void reloadLeftList(String searchText) { + RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.CheckInQuery); + params.addBodyParameter(VisitorQueryCondition.FieldNames.name, searchText); + x.http().post(params, new BaseCommonCallBack() { + public void success() { + List<VisitFragment.VisitQueryItem> list = getList(VisitFragment.VisitQueryItem.class); + String date = ""; + List itemList = new ArrayList(); + int i = 0; + for (VisitFragment.VisitQueryItem item : list) { + if (i % 3 == 0) { + itemList.add("2016-10-10"); + } + itemList.add(item); + i++; + } + AttendanceFragment.getInstance().get_fragment_attendance_left_list_view().show(itemList); + } + }); + + } + } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/AttendanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/AttendanceFragment.java new file mode 100644 index 0000000..b243062 --- /dev/null +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/AttendanceFragment.java @@ -0,0 +1,4 @@ +package cn.com.basic.face.service.vo; + +public class AttendanceFragment { +} diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/CheckInFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/CheckInFragment.java index 3491243..a41bad6 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/CheckInFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/CheckInFragment.java @@ -1,7 +1,15 @@ package cn.com.basic.face.service.vo; +import cn.com.basic.face.discern.query.item.SurveillanceQueryItem; + public class CheckInFragment { + public static class AttendanceQueryItem extends SurveillanceQueryItem { + } + + public static class AttendanceRightQueryItem extends SurveillanceQueryItem { + + } } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceLeftListView.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceLeftListView.java new file mode 100644 index 0000000..4c57b35 --- /dev/null +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceLeftListView.java @@ -0,0 +1,42 @@ +package cn.com.basic.face.widget.attendance; + +import android.content.Context; +import android.util.AttributeSet; + +import com.camnter.easyrecyclerview.widget.EasyRecyclerView; + +import java.util.List; + +import cn.com.basic.face.adapter.AttendanceFragment; +import cn.com.basic.face.adapter.VisitFragment; + +public class AttendanceLeftListView extends EasyRecyclerView { + + private AttendanceFragment.AttendanceLeftAdapter adapter; + + private void initView() { + adapter = new AttendanceFragment.AttendanceLeftAdapter(); + setAdapter(adapter); + } + + public AttendanceLeftListView(Context context) { + super(context); + initView(); + } + + public AttendanceLeftListView(Context context, AttributeSet attrs) { + super(context, attrs); + initView(); + } + + public AttendanceLeftListView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + initView(); + } + + public void show(List list) { + adapter.setList(list); + setAdapter(adapter); + } + +} diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceRightListView.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceRightListView.java new file mode 100644 index 0000000..df2a8a8 --- /dev/null +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceRightListView.java @@ -0,0 +1,41 @@ +package cn.com.basic.face.widget.attendance; + +import android.content.Context; +import android.util.AttributeSet; + +import com.camnter.easyrecyclerview.widget.EasyRecyclerView; + +import java.util.List; + +import cn.com.basic.face.adapter.AttendanceFragment; + +public class AttendanceRightListView extends EasyRecyclerView { + + private AttendanceFragment.AttendanceRightAdapter adapter; + + private void initView() { + adapter = new AttendanceFragment.AttendanceRightAdapter(); + setAdapter(adapter); + } + + public AttendanceRightListView(Context context) { + super(context); + initView(); + } + + public AttendanceRightListView(Context context, AttributeSet attrs) { + super(context, attrs); + initView(); + } + + public AttendanceRightListView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + initView(); + } + + public void show(List list) { + adapter.setList(list); + setAdapter(adapter); + } + +} diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left.xml index cb14cd8..a35a6cb 100644 --- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left.xml +++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left.xml @@ -29,7 +29,7 @@ android:hint="Search" android:textColorHint="@color/colorSearch" android:background="@drawable/visitor_register_search_et"/> - <com.camnter.easyrecyclerview.widget.EasyRecyclerView + <cn.com.basic.face.widget.attendance.AttendanceLeftListView android:id="@+id/fragment_attendance_left_list_view" android:layout_width="match_parent" android:layout_height="match_parent"/> diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_date_row.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_date_row.xml new file mode 100644 index 0000000..b3e71cb --- /dev/null +++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_date_row.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" android:layout_width="match_parent" + android:layout_height="match_parent"> + <TextView + android:id="@+id/fragment_visit_left_date_row_date" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:textSize="@dimen/text_size_big" + android:textColor="@color/colorText_5" + android:background="@color/colorBackground" + android:padding="22dp" + android:text=""/> +</LinearLayout> \ No newline at end of file diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_person_row.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_person_row.xml new file mode 100644 index 0000000..0941f9c --- /dev/null +++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_person_row.xml @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" android:layout_width="match_parent" + android:background="@android:color/white" + android:duplicateParentState="true" + android:layout_height="wrap_content" + xmlns:fresco="http://schemas.android.com/apk/res-auto" + > + <RelativeLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:paddingTop="15dp" + android:paddingBottom="15dp" + android:layout_marginLeft="24dp"> + <RadioButton + android:id="@+id/fragment_visit_left_person_row_check_box" + android:layout_centerVertical="true" + android:clickable="true" + android:layout_width="wrap_content" + android:layout_height="wrap_content" /> + <TextView + android:id="@+id/fragment_visit_left_person_row_name" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerVertical="true" + android:layout_toRightOf="@id/fragment_visit_left_person_row_check_box" + android:layout_marginLeft="12dp" + android:textColor="@color/colorText_5" + android:text="" + android:textSize="@dimen/text_size_normal"/> + <com.facebook.drawee.view.SimpleDraweeView + android:id="@+id/fragment_visit_left_person_row_photo" + android:layout_width="36dp" + android:layout_height="36dp" + fresco:roundAsCircle = "true" + android:layout_centerVertical="true" + android:layout_alignParentRight="true"/> + <TextView + android:id="@+id/fragment_visit_left_person_row_status" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerVertical="true" + android:layout_toLeftOf="@id/fragment_visit_left_person_row_photo" + android:layout_marginRight="@dimen/view_size_10" + android:textColor="@color/colorText_5" + android:text="" + android:textSize="@dimen/text_size_normal"/> + </RelativeLayout> + <View + android:id="@+id/fragment_visit_left_line" + android:layout_width="match_parent" + android:layout_height="@dimen/view_size_1" + android:layout_marginLeft="24dp" + android:background="@color/colorText_b"/> +</LinearLayout> \ No newline at end of file diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_right.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_right.xml index 2767b6e..3c5a289 100644 --- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_right.xml +++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_right.xml @@ -169,7 +169,7 @@ android:layout_below="@id/attendance_bottom_title_ll" android:layout_alignStart="@id/attendance_bottom_title_ll" android:layout_alignEnd="@id/attendance_bottom_title_ll"/> - <com.camnter.easyrecyclerview.widget.EasyRecyclerView + <cn.com.basic.face.widget.attendance.AttendanceRightListView android:id="@+id/fragment_attendance_right_list_view" android:layout_width="match_parent" android:layout_height="match_parent" -- Gitblit v1.8.0