Utilizar OnItemClickListener en ListView dentro de ViewPager

Estoy intentando utilizar el método OnItemClickListener en un ListView pero no se está llamando porque ViewPager intercepta acontecimientos del tacto.

He intentado

 mPager.requestDisallowInterceptTouchEvent(false); 

En mi FragmentActivity , y

 lista.setDescendantFocusability(ListView.FOCUS_BLOCK_DESCENDANTS); 

En mi método onCreate en ListFragment pero no pasa nada. ("Lista" es mi ListView ).

Aquí está el código del método OnItemClickListener :

 lista = (ListView) view.findViewById(id.list); lista.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //It's not being called } }); 

Hace unos días usé sólo Activities lugar de Fragments (ahora las necesito debido a ViewPager ) y el código funcionó bien, así que creo que xml no es necesario.

EDITAR Añadir más código:

FragmentActivity

 public class TabsFacturasActivity extends SherlockFragmentActivity { private static class MyAdapter extends FragmentPagerAdapter { private String[] titles = { "VER FACTURAS", "VER CONSUMO", "INTRODUCIR LECTURA" }; private final FragmentManager mFragmentManager; private Fragment mFragmentAtPos0; public MyAdapter(FragmentManager fragmentManager) { super(fragmentManager); mFragmentManager = fragmentManager; } @Override public CharSequence getPageTitle(int position) { return titles[position]; } @Override public Fragment getItem(int position) { switch (position) { case 0: // Fragment # 0 return new FacturasFragment(); ... } return null; } @Override public int getCount() { return titles.length; } @Override public int getItemPosition(Object object) { if (object instanceof FacturasFragment && mFragmentAtPos0 instanceof DetallesFacturaFragment) return POSITION_NONE; return POSITION_UNCHANGED; } } 

ListFragment

 public class FacturasFragment extends ListFragment { private ListView lista; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.activity_facturas, container, false); ... lista = (ListView) view.findViewById(id.list); lista.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //It's not being called } }); return view; } } 

Creo que el problema puede ser causado por los elementos listView. Si los elementos listView contienen vistas que se pueden hacer clic (botones, casillas de verificación, etc.), no se llamará a OnItemClickListener .

  • ¿Por qué desaparecen los elementos cuando se desplaza el listView?
  • Quite el divisor inferior de un ListView de Android
  • ListView muestra sólo un elemento
  • JSON a ListView en Android con Gson
  • Android: ListView con un modelo de datos complejos
  • Dynamic Linkify Text en ListView - Error: no se encontró ninguna intención con datos: url especificada
  • ListView OnItemClick listner no funciona en fragmento
  • ListView ocultos detrás de la barra de herramientas y botón de acción flotante oculto detrás de ListView
  • ¿Hay una manera fácil de arrastrar elementos en un ListView para cambiar su orden?
  • Buen diseño de la interfaz de usuario: ¿Cómo manejar ListView vacío?
  • OnContextItemSelected no parece ser llamado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.