为ImageSwitcher设置onClickListener

时间:2015-05-14 14:36:41

标签: android onclicklistener imageswitcher

所以我创建了一个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);
    }
});

1 个答案:

答案 0 :(得分:0)

所以对于那些想知道我找到问题答案的人。由于我已经实现了onSwipeTouchListener,因此我们也无法实现onClick侦听器,因为它们都首先侦听Down事件。因此所有向下事件都进入onSwipeTouchListener,因此onClickListener永远不会选择任何东西。另一方面,我能够编写一些代码来解决这个问题,如果有人有兴趣看到它,只需对此发表评论,我就可以提出来。