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; } } } 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缓存个数 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; } } 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); } }); } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/vo/AttendanceFragment.java
New file @@ -0,0 +1,4 @@ package cn.com.basic.face.service.vo; public class AttendanceFragment { } 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 { } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceLeftListView.java
New file @@ -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); } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/attendance/AttendanceRightListView.java
New file @@ -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); } } 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"/> VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_date_row.xml
New file @@ -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> VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_left_person_row.xml
New file @@ -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> 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"