5

Recientemente convertí mi aplicación de usar Activites y TabHost a usar Fragments y ViewPager de la biblioteca de Android Compatibles para API v4 Pude solucionar/resolver la mayoría de los problemas pero no puedo retener el comportamiento anterior con el filtrado de texto en ListViews utilizando el método setTextFilterEnabled.Filtro ListView que forma parte de un fragmento ViewPager

Mi ViewPagerAdapter contiene fragmentos que tienen cada uno ListView. A medida que los usuarios pasan a través de la ViewPager, me gustaría ListView del Fragmento actualmente activo para filtrar el texto como el tipo de usuarios, al igual que yo era capaz de hacer con el modelo TabHost por actividades. Actualmente, parece que el ListView de First Fragment responderá correctamente, pero si deslizo el dedo al siguiente Fragment e intento filtrar su ListView, el filtrado seguirá aplicándose al primero. Si paso más allá de los dos primeros y luego filtro, los resultados no son deterministas. El Fragmento actualmente activo nunca aplicará el filtro. A veces un fragmento vecino lo hará, a veces no lo hará.

Me trataron de solucionar este problema mediante la adición de devoluciones de llamada personalizados, que me permiten controlar qué fragmento es actualmente visible, y que están ocultos. Cuando un fragmento se hace visible como el fragmento principal de la ViewPager, me puse la setTextFilterEnabled en su ListView a true, y establecer todos los demás a false. Esto no pareció ayudar en absoluto (verifiqué que estaba cambiando la bandera correctamente para los Fragmentos correctos).

Sospecho que esto necesita algún tipo de integración más profunda con ViewPager, pero realmente no puedo imaginar lo que necesito para cablear. ¿Alguna idea sobre cómo puedo hacer que esto funcione? Estoy contento de ensuciar con el código ACL si es necesario.

+0

Esto ayudará si puede publicar fragmentos relevantes de lo que ha hecho antes, y lo que hacer ahora. –

Respuesta

0

podría implementar el método onPageSelected extendiéndose OnPageChangeListener. Quizás ya hagas esto. Desde allí, puede configurar el adaptador al ListView actual o volver a consultar el adaptador de cursor si ese es el caso. Tenga en cuenta que el adaptador utilizado debe implementar la interfaz filtrable.

Cuestiones relacionadas