我有一台带SlidingDrawer的RelativeLayout。我把抽屉当菜单用。当您单击抽屉中的某个项目时,它会向RelativeLayout添加一个ImageView。我希望能够移动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,我该如何解决这个问题?
发布于 2012-11-22 04:59:48
事实证明,OnTouch根本没有覆盖OnClick。图像被添加到布局中,为两个轴设置了MATCH_PARENT,并占据了整个屏幕。由于图像是一个圆圈,它似乎没有占据整个屏幕,侧面的按钮清晰可见,但ImageView显然占据了整个屏幕。
感谢那些回复的人!
https://stackoverflow.com/questions/13499867
复制相似问题