requestDisallowInterceptTouchEvent ne fonctionne que si vous sélectionnez d'abord la vue

Selon android docs, vous pouvez obtenir votre ViewGroup parent et appel requestDisallowInterceptTouchEvent(true) sur elle pour arrêter d'autres choses d'interférer. Cela provoque non seulement le parent immédiat, mais tout autre parent des objets qui pourraient intercepter la touche de l'ignorer pour la durée de l'événement particulier...

Ça sonne bien et semble bien fonctionner sur les appareils récents (le mien est android 4.1), mais les appareils plus anciens (c'est à dire 2.3.3) il ne fonctionne pas sauf si je clique sur mon défiler en premier et ensuite la faire défiler, sinon d'autres parents de défilement des vues peut encore intervenir.

Je suis d'envoi de la demande dans la Vue.OnTouchListener pour le défilement de l'enfant.

Une idée de comment faire ce travail automatiquement sans avoir recours à l'écriture personnalisé des sous-classes pour vérifier le hit rect sur la motion de l'événement, etc?

source d'informationauteur linuxfreakus