【问题标题】:onTouchListiner & OnLongClickListener on ImageView didn't workImageView 上的 onTouchListiner 和 OnLongClickListener 不起作用
【发布时间】:2015-02-28 21:27:20
【问题描述】:

我将这些 listeners 添加到 imageView 中,如下所示:

view.setOnTouchListener(clickEvent);
view.setLongClickable(true);
view.setOnLongClickListener(longclickEvent);

OnTouch 事件上升,OnlongClick 没有。 OnlongClick 仅在我删除 OnTouch 事件时工作。

请有任何想法,在此先感谢。

【问题讨论】:

  • 简单的答案:你不能两者兼得。如果您设置OnTouchListener,所有其他单击或长按侦听器将不再工作。如果您需要使用OnTouchListener,则需要手动处理点击事件。
  • 尝试在您的 clickEvent (onTouch) 实现中返回 false

标签: android android-event


【解决方案1】:

如果您没有一些MotionEvent 可以控制,我建议您使用ImageButton 并设置OnClickListenerOnLongClickListener。在这种情况下,您将获得与您的代码相同的结果,但相反,这是可行的。使用OnTouchListener 的问题是它会“替换”其他点击事件。因此,如果您正在做一些只能用OnTouchListener 完成的事情,您可以在需要在OnTouchListener 中运行的每个语句中返回true,并在最后一个右括号之前返回false 以避免屏幕上的每一次触摸都将由OnTouchListener处理。

【讨论】:

    猜你喜欢
    • 2011-06-07
    • 1970-01-01
    • 1970-01-01
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多