Tengo un widget ViewPager en cada fila de un ListView. Esto proporciona una IU similar a un estante, por lo que el usuario puede desplazarse por la búsqueda de un estante verticalmente y luego desplazarse horizontalmente entre los contenidos de un estante. Esto funciona.ViewPager en un ListView: cómo bloquear el eje de desplazamiento?
Pero la experiencia de desplazamiento es terrible: si empiezo a arrastrar ViewPager de un estante, desplácelo horizontalmente y accidentalmente arrastre un poco hacia arriba/abajo, entonces ListView "atrapa" esta acción de arrastre y comienza a desplazarse verticalmente, terminando mi arrastre horizontal En este estado, la acción de arrastre no "regresará" a ViewPager, el ListView lo tiene, y eso es todo. Tengo que comenzar otra acción de arrastre para afectar nuevamente a ViewPager. Así que supongo que ListView tiene prioridad en estos casos.
¿Cómo se puede solucionar? Me gustaría lograr exactamente lo contrario: si el ViewPager dentro de una fila de la lista comienza a reaccionar a un arrastre horizontal, entonces debe atrapar esa acción, y este arrastre debería dejar de afectar al ListView, sin importar cómo el usuario mueva su dedo verticalmente Se puede hacer esto?
Encontré la respuesta, aquí: http://stackoverflow.com/questions/2646028/android-horizontalscrollview-within-scrollview-touch-handling –
En ese caso, lo mejor que puedes hacer es cerrar esta pregunta como un duplicado (si cree que las preguntas fueron lo suficientemente cercanas), o si son lo suficientemente diferentes, envíe el enlace como respuesta y márquelo como la "respuesta seleccionada". De esta manera, no aparecerá más como una pregunta no contestada, votada :) –
Tienes razón, esta pregunta que se muestra como no contestada es confusa, he agregado una respuesta adecuada. Creo que es lo suficientemente diferente, no lo marcaría como un duplicado exacto. –