I've found the answer. I was using a subclass of SlidingPaneLayout
in which I was overriding
onInterceptTouchEvent(MotionEvent arg0)
I was trying to do the following:
- open the slidingPaneLayout useing a button.
- close the slidingPaneLayout useing a button.
- close the slidingPaneLayout useing swiping.
- prevent the user from opening the slidingPaneLayout using swiping.
So, I created a boolean inside my subclass called shouldSwipe to be returned from the over-ridden method.
the implementation that caused the problem was :
@Override
public boolean onInterceptTouchEvent(MotionEvent arg0) {
return shouldSwipe;
}
it caused the problem whenever (shouldSwipe = true) because it tells the system that the touch event already is consumed and prevents it from being propagated.
I solved that using this one:
@Override
public boolean onInterceptTouchEvent(MotionEvent arg0) {
// TODO Auto-generated method stub
return shouldSwipe ?super.onInterceptTouchEvent(arg0):shouldSwipe;
}
that's it.