AdapterViewFlipper 添加item点击事件
使用AdapterViewFlipper
实现广告滚动功能,在使用setOnItemClickListener
时无法接收回调。
原因
由于在其父类AdapterViewAnimator
中重写了onTouchEvent
函数,但是在MotionEvent.ACTION_DOWN
时返回值一直是false
,导致
onTouchEvent
函数中的MotionEvent.ACTION_UP
,无法回调,从而无法回调OnItemClickListener
。因此要想使回调生效,只需重写onTouchEvent
函数,并返回true
即可
修改后的源码
只需继承AdapterViewFlipper
并修改onTouchEvent
的返回值即可
public class AdapterViewFlipper2 extends AdapterViewFlipper {
public AdapterViewFlipper2(Context context) {
super(context);
}
public AdapterViewFlipper2(Context context, AttributeSet attrs) {
super(context, attrs);
}
@RequiresApi(api = Build.VERSION_CODES