所以我创建了一个ImageSwitcher,目标是当你向左或向右滑动时,会加载数组中的下一个Image。然后,如果您单击ImageSwitcher,它将使用当前显示的图像启动一个新的Activity。
我遇到的问题是我无法让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);
}
});
答案 0 :(得分:0)
所以对于那些想知道我找到问题答案的人。由于我已经实现了onSwipeTouchListener,因此我们也无法实现onClick侦听器,因为它们都首先侦听Down事件。因此所有向下事件都进入onSwipeTouchListener,因此onClickListener永远不会选择任何东西。另一方面,我能够编写一些代码来解决这个问题,如果有人有兴趣看到它,只需对此发表评论,我就可以提出来。