所以我已经创建了一个ImageSwitcher,目标是当你向左或向右滑动时,加载数组中的下一个图像。然后,如果您单击ImageSwitcher,它将使用当前显示的图像启动一个新活动。
我遇到的问题是我不能让ImageSwitcher识别点击事件。我已经成功地设置了swipeRight和swipeLeft手势,并尝试设置onClickListener,但当我单击ImageSwitcher时,什么也没有发生。
任何帮助都将不胜感激。
imgSwitcher = (ImageSwitcher) findViewById(R.id.highlights_image_switcher);
imgSwitcher.setFactory(new ViewSwitcher.ViewFactory() {
@Override
public View makeView() {
ImageView myView = new ImageView(getApplicationContext());
myView.setScaleType(ImageView.ScaleType.FIT_CENTER);
myView.setLayoutParams(new ImageSwitcher.LayoutParams(
ImageSwitcher.LayoutParams.MATCH_PARENT,
ImageSwitcher.LayoutParams.MATCH_PARENT));
return myView;
}
});
imgSwitcher.setOnTouchListener(new OnSwipeTouchListener(getBaseContext()) {
@Override
public void onSwipeLeft() {
highlightsNext();
}
@Override
public void onSwipeRight() {
highlightsPrevious();
}
});
imgSwitcher.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
highlightsAdvance(highlightIndex);
}
});发布于 2015-05-15 11:11:43
因此,对于任何想知道我的问题的人来说,我找到了答案。因为我已经实现了onSwipeTouchListener,所以不能同时实现onClick侦听器,因为它们都先侦听Down事件。因此,所有关闭的事件都会进入onSwipeTouchListener,因此onClickListener永远不会拾取任何东西。另外,我写了一些代码来解决这个问题,如果有人对此感兴趣,只需对此发表评论,我就可以把它放上来。
https://stackoverflow.com/questions/30240100
复制相似问题