bannerview
bannerview copied to clipboard
点击事件怎么设置?求解答
BannerViewFactory里重写create方法 在创建的imageView里设置onclick方法
只有一张图的时候 java.lang.StackOverflowError
public static class BannerItem {
public String image;
public String title;
@Override
public String toString() {
return title;
}
public View.OnClickListener Listener() {
return new View.OnClickListener() {
@Override
public void onClick(View v) {
Logger.i(image);
}
};
}
}
public static class BannerViewFactory implements BannerView.ViewFactory<BannerItem> {
@Override
public View create(BannerItem item, int position, ViewGroup container) {
ImageView iv = new ImageView(container.getContext());
RequestOptions options = new RequestOptions().diskCacheStrategy(DiskCacheStrategy.DATA);
Glide.with(container.getContext().getApplicationContext()).load(item.image).apply(options).into(iv);
iv.setOnClickListener(item.Listener());
return iv;
}
}
ImageView iv = new ImageView(container.getContext()); //通过ID把position带出去 iv.setId(position);
public void onClick(View v) { //拿id也是拿position int id = v.getId();