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; } } 

One Solution collect form web for “Utilizar OnItemClickListener en ListView dentro de ViewPager”

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 .

  • Elemento de lista que se repite en android personalizado listview
  • Error de Android - getListView () en ListFragment
  • El elemento ListView no se puede hacer clic en Android
  • EnhancedListView con ExpandableListView
  • Checkbox 'Checked' en ListView se restaura después de desplazarse
  • Android: cómo eliminar un elemento de una listaVer y arrayAdapter
  • Relleno ListView en desplazamiento
  • Android: Cómo actualizar la eliminación de la lista tras el elemento en SimpleAdapter personalizado
  • Actualizar ListView después de actualizar en otra actividad
  • Cómo obtener un Inflater Layout dado un contexto?
  • Cuando se desplaza un listview con un adaptador personalizado demasiado rápido arriba y abajo, getView () comienza a comportarse de manera extraña. ¿Por qué?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.