如果GestureDetector.SimpleOnGestureListener与GestureDetector.OnGestureListener进行了相同的操作,但不需要使用未使用的代码,那么OnGestureListener的意义到底是什么?
我很少需要处理每种类型的手势,如果确实需要处理,则无论如何都可以在SimpleOnGestureListener中进行。
最佳答案
SimpleOnGestureListener与OnGestureListener是不同的,它是一个实现包括OnGestureListener在内的三个接口的类,主要原因是避免过多的代码。正如您所说,您根本无法使用OnGestureListener,但是由于SimpleOnGestureListener实现了它,因此无法从框架中消除它。
看到这个https://developer.android.com/reference/android/view/GestureDetector.SimpleOnGestureListener.html
SimpleOnGestureListener还实现:
OnDoubleTapListener和
OnContextClickListener
并将这些方法放在三个不同的接口中是为了使它们更易于理解,因为它们具有不同的含义,它们不想让每个开发人员都必须实现不必要的方法。
但是,由于他们发现它们经常一起使用,因此创建了一种帮助程序类,以默认的实现方式收集它们,这样,他们就可以同时分离和收集接口。使用这两种方法之间没有任何区别。