У меня есть пользовательский вид, такой как макет выдвижного ящика, у которого есть два ребенка. gridView, который включает (например, listview в drawerLayout), а другой - как контент. как ящик планшета, я хочу, если обнаружено касание и прокручивает сенсорный дескриптор в пользовательском макете (вызовите onTouchEvent()), но если касание - щелчок по элементам gridView gridView, обработайте его. поэтому i ovveride iterceptTouchEvent() и использовать GestureDEtector для обнаружения прокрутки, но это не сработало.обработка касания в customView как drawerLayout
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
mGestureDetector.onTouchEvent(ev);
if(isScrolling) {
isScrolling = false;
onTouchEvent(ev);
}
return false;
}
public class touchDetector extends GestureDetector.SimpleOnGestureListener{
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
Log.d("*********","ONScroll");
isScrolling = true;
return super.onScroll(e1, e2, distanceX, distanceY);
}
}
спасибо, но если Oni nterceptTouchEvent return false Метод OnTouch() не предназначен для касания позиций childs. – mk72
просто присоедините touchlistener к своей деятельности/фрагменту – Nickolaus