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
- Vistas de varias listas de Android que no se desplazan de forma independiente
- Cómo restablecer listview después de searchview se cierra en android?
- cuando listview desplazarse ese tiempo edittext establecer el valor predeterminado
- ¿No puedo hacer clic en el ListView en android?
- En Android, ¿cómo mostrar el diálogo de alerta con esquinas cuadradas como en Google Maps?
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; } }
- Lista colgadaElector en ListView
- Después de buscar elementos de ListView en Android, siempre abra el primer elemento de ListView (Issue)
- Cómo agregar espacio entre los elementos de android listview?
- Forzar ListView a no reutilizar vistas (casilla de verificación)
- Imagen que se muestra en Android Studio pero no en el teléfono
- Cómo llamar a notifyDataSetChanged () desde un adaptador genérico
- Ninepatch escala incorrecta al desplazarse después de aplicar un filtro de color?
- ¿Cómo puedo tener un ListView dentro de un NestedScrollView
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 .
- ¿Los dispositivos Android necesitan suministrar energía a través de USB para poder admitir accesorios USB personalizados?
- WifiManager devuelve BSSID 00: 00: 00: 00: 00: 00