This probably shouldn’t have taken me as long as it did, but I was pretty frustrated while trying to figure out why I couldn’t make my swipe gestures get recognized across the entire app. Most of the activity screen responded, but not the TextView. I added a gesture listener explicitly to the TextView and went through dozens of iterations.
Turns out, ScrollView objects absorb gestures – not just the scroll up and down as it needs to, but also the swipe (onFling message) from side-to-side. I had wrapped my TextView in a ScrollView to allow it to scroll if there was too much text, but that meant limitations on my UI.
To resolve this, I removed the ScrollView wrapper on the TextView, and now the fling gestures are handled by the activity’s GestureHandler. Ok, that was easy – now everything behaves as it should and the UI is consistent, which is good for the user experience. No additional handler needs to be added for the view. The result is that I need to ensure that my font is appropriately sized to not overflow the text box, but that can be handled.