I have a custom ViewSwitcher
in which I implemented touch events so I
am able to scroll through screens using the touchscreen.
My layout hierarchy looks like this:
<ViewSwitcher>
<LinearLayout>
<ListView />
</LinearLayout>
<LinearLayout>
<ListView />
</LinearLayout>
</ViewSwitcher>
Now, the problem is that the touch events are being consumed by the
ListViews
and I am not able to switch the views. It works fine when I
don't have the ListViews
. I need to be able to scroll through the
views and scroll the ListView
.
How do I solve this?
EDIT: I also need the ListView
items to be clickable.
Thanks in advance!
Thank you everyone for answering the question. But I was able to figure it out in a much simpler manner. Since my ViewSwitcher
wasn't detecting the touch event, I intercepted the touch event, called the onTouchEvent()
and returned false
. Here:
@Override
public boolean onInterceptTouchEvent(MotionEvent ev)
{
onTouchEvent(ev);
return false;
}
By overriding the onInterceptTouchEvent()
, I was able to intercept the touch event in the activity. Then I called the onTouchEvent()
in the ViewSwitcher
which handles the switching of the ListViews
. And finally by returning false
, it makes sure that the ViewGroup
doesn't consume the event.