package com.hdl.widget.CoverFlowViewPager; import android.support.v4.view.PagerAdapter; import android.view.View; import android.view.ViewGroup; import java.util.List; /** * Created by JLChen on 2019/8/22 */ public class HDLCoverFlowViewPagerAdapter extends PagerAdapter { private List mList; private int mRoundCorners = -1; /** * 设置圆角 * * @param mRoundCorners */ public void setmRoundCorners(int mRoundCorners) { this.mRoundCorners = mRoundCorners; } /** * 点击回调 */ public static interface OnClickViewsListener { void onViewsClick(int position); // void onViewsChange(int position); } private OnClickViewsListener mOnClickViewsListener; public void setOnClickViewsListener(OnClickViewsListener listener) { mOnClickViewsListener = listener; } public HDLCoverFlowViewPagerAdapter(List list) { this.mList = list; // this.mContext = context; } @Override public int getCount() { return this.mList.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); } @Override public Object instantiateItem(ViewGroup container, final int position) { // final int index = position % mList.size(); View view = mList.get(position); view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mOnClickViewsListener.onViewsClick(position); } }); container.addView(view); return view; } @Override public int getItemPosition(Object object) { // 最简单解决 notifyDataSetChanged() 页面不刷新问题的方法 return POSITION_NONE; } public void updateViewsList(List list){ mList = list; // notifyDataSetChanged(); } }