package cn.lightsky.infiniteindicator.recycle;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import cn.lightsky.infiniteindicator.ImageLoader;
import cn.lightsky.infiniteindicator.IndicatorConfiguration;
import cn.lightsky.infiniteindicator.OnPageClickListener;
import cn.lightsky.infiniteindicator.Page;
import cn.lightsky.infiniteindicator.R;
/**
* Created by lightsky on 2016/11/18.
*/
public class BaseViewBinder implements ViewBinder {
@Override
public View bindView(Context context,
final int position,
final Page page,
ImageLoader imageLoader,
final OnPageClickListener mOnPageClickListener,
View convertView,
ViewGroup container) {
ViewHolder holder;
if (convertView != null) {
holder = (ViewHolder) convertView.getTag();
} else {
convertView = LayoutInflater.from(context).inflate(R.layout.simple_slider_view, null);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
}
if (holder.target != null) {
if (mOnPageClickListener != null) {
holder.target.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mOnPageClickListener.onPageClick(position, page);
}
});
}
if (imageLoader != null) {
imageLoader.load(context, holder.target, page.res);
}
}
return convertView;
}
private static class ViewHolder {
final ImageView target;
public ViewHolder(View view) {
target = (ImageView) view.findViewById(R.id.slider_image);
}
}
}