TouchListener会覆盖ClickListener

时间:2012-11-21 18:36:04

标签: java android

我有一个带有SlidingDrawer的RelativeLayout。我正在使用抽屉作为菜单。单击抽屉中的项目时,它会将ImageView添加到RelativeLayout。我希望能够移动ImageView。

我正在为SlidingDrawer中的每个菜单项使用ClickListener。这部分效果很好。对于我添加到RelativeView的对象,我设置了一个TouchListener。对于要添加的ImageView,我设置了一个TouchListener。但添加一个ImageView后,菜单项不再起作用。 TouchListener接管控制并绕过ClickListener。

以下是代码:

    OnClickListener navClickListener;  //This is set for each menu item
    OnTouchListener objectTouchListener  //This is set for each new ImageView

    navClickListener = new OnClickListener(){
        @Override
        public void onClick(View v){
            performClickAction(v);
        }
    };

    objectTouchListener = new OnTouchListener(){
        @Override
        public boolean onTouch(View v, MotionEvent event){
            performTouchAction(v, event);
            return false;
        }
    };

为什么TouchListener会覆盖ClickListener以及如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

事实证明,OnTouch根本没有覆盖OnClick。图像被添加到布局中,同时为两个轴设置了MATCH_PARENT,并占据了整个屏幕。由于图像是一个圆圈,它似乎没有占用所有的屏幕,侧面的按钮清晰可见,但ImageView显然占据了整个屏幕。

感谢那些回应!