package cn.com.basic.face.widget.surveilance; import android.content.Context; import android.graphics.Color; import android.graphics.Rect; import android.os.Parcelable; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.util.AttributeSet; import android.view.View; import com.camnter.easyrecyclerview.widget.EasyRecyclerView; import java.util.ArrayList; import java.util.List; import cn.com.basic.face.adapter.SurveillanceFragment; import cn.com.basic.face.base.MainActivity; import cn.com.basic.face.util.WindowsUtil; public class SurveillancePhotoSelectListView extends EasyRecyclerView { public static Parcelable recyclerViewState; public static SurveillanceFragment.SurveillancePhotoSelectListViewAdapter mAdapter; public static List list = new ArrayList(); private class SpaceItemDecoration extends ItemDecoration { @Override public void getItemOffsets(Rect outRect, View view, RecyclerView parent, State state) { super.getItemOffsets(outRect, view, parent, state); outRect.right = WindowsUtil.dip2px(MainActivity.getInstance(), 15); if (parent.getChildLayoutPosition(view) == 0 || parent.getChildLayoutPosition(view) == 1) { outRect.left = WindowsUtil.dip2px(MainActivity.getInstance(), 14); } if (parent.getChildLayoutPosition(view) % 2 == 0) { outRect.bottom = WindowsUtil.dip2px(MainActivity.getInstance(), 7); } } } public void initLayout() { addItemDecoration(new SpaceItemDecoration()); GridLayoutManager gridLayoutManager = new GridLayoutManager(MainActivity.getInstance(), 2); gridLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); setLayoutManager(gridLayoutManager); } public void setAdapter(Context context) { mAdapter = new SurveillanceFragment.SurveillancePhotoSelectListViewAdapter(context); mAdapter.setList(list); setAdapter(mAdapter); initLayout(); } public SurveillancePhotoSelectListView(Context context) { super(context); setAdapter(context); } public SurveillancePhotoSelectListView(Context context, AttributeSet attrs) { super(context, attrs); setAdapter(context); } public SurveillancePhotoSelectListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); setAdapter(context); } public void show(List list) { recyclerViewState = this.getLayoutManager().onSaveInstanceState(); mAdapter.setList(list); this.setAdapter(mAdapter); this.getLayoutManager().onRestoreInstanceState(recyclerViewState); } public List getPrevList() { return this.list; } }