Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:如何结合Activity.onTouchEvent()和View.setOnLongClickListener()功能_Android_Event Handling - Fatal编程技术网

Android:如何结合Activity.onTouchEvent()和View.setOnLongClickListener()功能

Android:如何结合Activity.onTouchEvent()和View.setOnLongClickListener()功能,android,event-handling,Android,Event Handling,在安卓系统中,我试图捕捉用户触摸以及用户长时间触摸。我有一个活动,在其中我覆盖了onTouchEvent()方法来处理各种屏幕触摸 我正试图将“长按”融入到我的用户界面选择中 我找不到要覆盖的活动。onLongTouchEvent() 我的应用程序也有一个SurfaceView,我可以做到这一点: sv.setOnLongClickListener (new View.OnLongClickListener() { @Override public boolean onLongC

在安卓系统中,我试图捕捉用户触摸以及用户长时间触摸。我有一个活动,在其中我覆盖了
onTouchEvent()
方法来处理各种屏幕触摸

我正试图将“长按”融入到我的用户界面选择中

我找不到要覆盖的
活动。onLongTouchEvent()

我的应用程序也有一个SurfaceView,我可以做到这一点:

sv.setOnLongClickListener (new View.OnLongClickListener()
{
    @Override
    public boolean onLongClick (View v)
    {
        SendAToast();
        return false;
    }
});
当我实现该代码时,它的工作原理与它应该的完全相同

但是,现在我的
onTouchEvent()
代码永远不会被调用,即使我触摸屏幕的时间不够长,无法“长按”

有人知道如何让这两位代码协同工作吗

编辑:

在我发布这篇文章后,一位同事向我展示了“OnGetureListener”界面。下面是一个例子:

我使用这个界面来捕捉长时间的按压,它甚至提供了屏幕坐标(OnLongClickListener没有)。因此,它似乎起到了作用


为什么此功能不自动成为活动的一部分?这对我来说确实是一个核心功能。

我会将触控内容移动到视图的onTouchEvent中,而不是活动。

这可能是我一开始就应该考虑的,但我甚至不知道它的存在。现在,我认为有太多的代码,接近发布时无法完成。当我们转到版本2时,我一定会记住这个想法。