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 .

  • Agregar CheckBox a la vista de fila ListView hace que la fila no haga clic
  • ListFragment OnListItemClick no se llama
  • OnItemClickListener y OnClickListener no funcionan para ListView
  • Eliminación de elementos muliple de listview con la casilla de verificación en Android
  • RecyclerView oculta la barra de acción cuando se abre SoftKeyboard
  • Android ListView Lista de estado que no muestra el fondo del elemento predeterminado
  • Cambiar el color de fondo del primer elemento en ListView
  • Implementación de la atracción de Chris Banes para actualizar junto con desplazamiento horizontal en la vista de lista
  • Android: Cómo ocultar un elemento ListView
  • Android no puede encontrar el método desde el botón onClick en ListView Row
  • SwipeRefreshLayout con múltiples ListViews
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.