首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ViewSwitcher和ListView

ViewSwitcher和ListView
EN

Stack Overflow用户
提问于 2012-02-20 19:48:07
回答 1查看 1.7K关注 0票数 0

我有以下布局

代码语言:javascript
复制
<ViewSwitcher>
  <LinearLayout>
    <ListView />
  </LinearLayout>

  <LinearLayout>
    <ListView />
  </LinearLayout>
</ViewSwitcher>

但是当我切换ViewSwitcher(通过onTouchListener)时,布局中ListView的onItemClickListener也会响应。在切换时我不需要它。如何修复它?

这是我的switcher类:

代码语言:javascript
复制
public class MMGViewSwitcher extends ViewSwitcher{
private float startX = 0;
private float startY = 0;
private float endX = 0;
private float endY = 0;


public MMGViewSwitcher(Context context, AttributeSet attrs) {
    super(context,attrs);

}

@Override
public boolean onTouchEvent(MotionEvent event)
{
    String ActionString="";
    switch(event.getActionMasked())
    {
        case MotionEvent.ACTION_DOWN:
            startX = event.getX();
            startY = event.getY();
            ActionString="ACTION_DOWN";
            break;
        case MotionEvent.ACTION_MOVE: 
            ActionString="ACTION_MOVE";
            break;
        case MotionEvent.EDGE_LEFT:
        this.showNext();
            break;
        case MotionEvent.EDGE_RIGHT:
        this.showPrevious();
            break;
        case MotionEvent.ACTION_UP: 
            endX = event.getX();
            endY = event.getY();
            if((startX > endX) && Math.abs(startX-endX)>30){
                this.showNext();
            }
            if((startX < endX) && Math.abs(startX-endX)>30){
                this.showPrevious();
            }
            ActionString="ACTION_UP";
        break;
    }
    return true;
}


@Override
public boolean onInterceptTouchEvent(MotionEvent ev)
{
    onTouchEvent(ev);
    return false;
}

}

EN

回答 1

Stack Overflow用户

发布于 2012-02-20 20:56:55

首先:在你对自己的问题发表评论之前,要有超过一个小时的耐心,再次询问答案(在社区中不受欢迎)。

您的问题是您使用了两个相互干扰的侦听器。我不知道你的OnTouchListener在哪条规则上翻转视图,但你应该用一个GestureDetector和一个SimpleGestureListener来代替它。在那里你可以实现一个滑动手势检测来翻转你的视图。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9360632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档