studio programacion móviles libros libro desarrollo desarrollar curso aprende aplicaciones android listview

móviles - manual de programacion android pdf



Vista de lista de Android: obtener índice de datos del elemento visible (3)

Es muy fácil. Solo use ListView.getFirstVisiblePosition() + indexYouWant . Por ejemplo, para obtener la posición en el adaptador del segundo niño que se muestra en ListView , simplemente use getFirstVisiblePosition() + 1 .

No hay necesidad de todas las cosas de miedo que se muestran en la respuesta anterior :)

Tengo un ListView Android creado con un SimpleAdapter que tiene más elementos que caben en la pantalla. Después de que la lista se haya desplazado, necesito obtener el puesto en el modelo de datos del primer elemento visible de la lista.

Básicamente quiero una función como: listView.getChildAt(0).getPositionInDataModel() .

Adapter tiene algunas funciones, como getItemId(position) que parecía útil; sin embargo, la implementación de SimpleAdapter simplemente devuelve la posición aprobada, no una identificación de fila como esperaba.

Una solución de fuerza bruta sería obtener la Vista en el índice 0 y compararla con la vista de cada elemento del adaptador. Sin embargo, no parece haber una manera fácil de obtener la vista para una posición particular del adaptador.

Alguien tiene alguna idea?


Simplemente use getPositionForView(View) ( vea la documentación ). La principal ventaja de este método es que también funciona con las View descendientes de un elemento.


listView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { public void onItemSelected(AdapterView<?> parent,View view, int pos, long id) { AisleId= parent.getSelectedItemId(); } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } });

En este, obtendremos el elemento de la lista Id parent.getSelectedItemId ();