0

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

1 回答 1

0

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

于 2015-05-15T03:11:43.297 回答