【问题标题】:Using OnTouchListener and OnLongClickListener interferes with eachother使用 OnTouchListener 和 OnLongClickListener 相互干扰
【发布时间】:2012-05-11 12:22:29
【问题描述】:

我有这个使用 onclicklistener 和 onlongclicklistener 的按钮,还有一个使用 ontouchlistener 的按钮...

关键是按钮 1 被按下 0,1 秒,按钮 2 被按下 2 秒,按钮 3 可以被按下 50 秒甚至更长时间......但按钮 3 被视为长按而不是在释放后触摸5秒,所以不会触发我的动作

我用过:

    MainActivity extends Activity implements View.OnClickListener,
        View.OnLongClickListener, View.OnTouchListener {

    button1.setOnClickListener(this);
    button2.setOnLongClickListener(this);
    button3.setOnTouchListener(this);

    public boolean onTouch(View v, MotionEvent event) {
    switch (v.getId()) {
    case R.id.button3:
         if(event.getAction() == MotionEvent.ACTION_DOWN) {
             DoTest1();
            } else if (event.getAction() == MotionEvent.ACTION_UP) {
             DoTest2();
                }
        break;
    }
    return false;
}

当我删除 onlongclicklistener 时,它工作正常..

有什么想法吗?

感谢您的支持!!!

【问题讨论】:

  • 你可能想标记这个问题是什么语言...
  • android...所以...我认为应用程序发明者...JAVA...

标签: android ontouchlistener onlongclicklistener


【解决方案1】:

您可以在按钮 3 上使用 View.setLongClickable(false)。

【讨论】:

  • true,但是,在 longclick 上返回默认值 false 可以让其他人继续 :)
猜你喜欢
  • 2023-01-31
  • 2011-07-14
  • 2013-05-27
  • 1970-01-01
  • 2013-05-10
  • 1970-01-01
  • 1970-01-01
  • 2013-04-27
  • 1970-01-01
相关资源
最近更新 更多