В Android я пытаюсь зафиксировать касания пользователя, а также длительные касания пользователя.У меня есть Activity, и в ней я переопределяю метод onTouchEvent()
для обработки множества касаний экрана.
Я пытаюсь включить «Длинные нажатия» в свой список вариантов пользовательского интерфейса.
Я не могу найти Activity.onLongTouchEvent()
для переопределения.
У моего приложения также есть SurfaceView, и я вижу, что могу сделать это:
sv.setOnLongClickListener (new View.OnLongClickListener()
{
@Override
public boolean onLongClick (View v)
{
SendAToast();
return false;
}
});
Когда я реализую этот код, он работает точно так же, как и должен.
Однако теперь мой onTouchEvent()
код никогда не вызывается, даже если я не касаюсь экрана достаточно долго, чтобы он стал «долгим нажатием».
Кто-нибудь знает, как заставить эти два бита кода работать вместе?
Редактировать:
После того, как я опубликовал это, сотрудник показал мне интерфейс "OnGestureListener".Вот пример:
http://www.ceveni.com/2009/08/android-gestures-detection-sample-code.html
Я использую интерфейс для захвата длинных нажатий, и он даже предоставляет координаты экрана для работы (что не имеет OnLongClickListener).Таким образом, это похоже на дело.
Почему эта функция не входит в действие автоматически?Это, конечно, кажется мне основной функциональностью.