2

我有一个带 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,我该如何解决?

4

1 回答 1

0

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

感谢那些回复的人!

于 2012-11-21T20:59:47.933 回答