Tengo un ListView
personalizado. Este ListView
contiene 1 Imagen y 6 TextView s. Para recuperar el valor, he creado un setOnItemClickListener(...)
. Cuando hago clic en ListView
, ¿cómo puedo recuperar todos los datos del 6 TextView s?setOnItemClickListener en ListView personalizado
Respuesta
Si en el oyente obtiene el diseño de la raíz del elemento (digamos itemLayout
), y le dio algunos id a las textviews, puede obtenerlos con algo como itemLayout.findViewById(R.id.textView1)
.
Código de ejemplo:
ListView list = (ListView) findViewById(R.id.listview);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Object listItem = list.getItemAtPosition(position);
}
});
En el código de ejemplo anterior, la listItem
debe contener los datos seleccionados para la textView
.
chicos no soy capaz de sentir el tacto incluso si escribo un brindis en el interior deItemClick no se muestra – abhishek
@abhishek, el mismo problema conmigo también –
yo también tenía el mismo problema .. Si pensamos lógicamente poco podemos obtener la respuesta .. A mí me funcionó muy bien .. espero que u conseguirá ..
listviewdemo.xml
<ListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="30dp" android:paddingLeft="10dp" android:paddingRight="10dp" />
listviewcontent.xml
- nota queTextView
-android:id="@+id/txtLstItem"
<LinearLayout android:id="@+id/listviewcontentlayout" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="horizontal"> <ImageView android:id="@+id/img1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="6dp" /> <LinearLayout android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="vertical"> <TextView android:id="@+id/txtLstItem" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="left" android:shadowColor="@android:color/black" android:shadowRadius="5" android:textColor="@android:color/white" /> </LinearLayout> <ImageView android:id="@+id/img2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="6dp" /> </LinearLayout>
ListViewActivity.java
- Tenga en cuenta queview.findViewById(R.id.txtLstItem)
- como lo establece el valor enTextView
porsetText()
método que conseguir texto desdeTextView
porView
objeto devuelto por el métodoonItemClick
.OnItemClick()
devuelve la vista actual.TextView v=(TextView) view.findViewById(R.id.txtLstItem); Toast.makeText(getApplicationContext(), "selected Item Name is "+v.getText(), Toast.LENGTH_LONG).show();**
Usando esta lógica simple que podemos obtener otros valores como
CheckBox
,RadioButton
, etc.ImageView
ListView List = (ListView) findViewById(R.id.listview); cursor = cr.query(CONTENT_URI,projection,null,null,null); adapter = new ListViewCursorAdapter(ListViewActivity.this, R.layout.listviewcontent, cursor, from, to); cursor.moveToFirst(); // Let activity manage the cursor startManagingCursor(cursor); List.setAdapter(adapter); List.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick (AdapterView <?> adapter, View view,int position, long arg){ // TODO Auto-generated method stub TextView v = (TextView) view.findViewById(R.id.txtLstItem); Toast.makeText(getApplicationContext(), "selected Item Name is " + v.getText(), Toast.LENGTH_LONG).show(); } } );
Tengo el mismo código pero no funciona para mi –
Si se ayuda a nadie, me encontré con que el problema era que ya tenía un androide : evento onClick en mi archivo de diseño (que inflé para las filas de ListView). Esto estaba reemplazando al evento onItemClick.
Si las respuestas anteriores no funcionan, tal vez no haya agregado el valor de retorno en el método getItem en el adaptador personalizado, vea this pregunta y revise la primera respuesta.
- 1. setOnItemClickListener() no funciona en ListView @ Android personalizado
- 2. setOnItemClickListener no responde Custom ListView
- 3. setOnItemClickListener VS setOnItemSelectedListener en ListView.
- 4. ListView no activa setOnLongClickListener, solo setOnItemClickListener
- 5. cómo obtener el objeto de listview en setOnItemClickListener en android?
- 6. ListView personalizado en Winforms?
- 7. Filtrado personalizado ArrayAdapter en ListView
- 8. Establecer evento de clic de elemento en setOnItemClickListener de listview Android
- 9. onItemClickListener con adaptador personalizado y listview
- 10. ListView personalizado con fecha como SectionHeader (Usado CustomCursorAdapter personalizado)
- 11. ListView setOnItemClickListener y setOnItemSelectedListener para almacenar el índice de elemento seleccionado
- 12. setOnItemLongClickListener y setOnItemClickListener no se activan cuando se utiliza drag-sort-listview (DSLV)
- 13. ListView personalizado y menú contextual. ¿Cómo conseguirlo?
- 14. Problema de fondo de ListView personalizado
- 15. ListView con diseño de filas personalizado - Android
- 16. Filtrado ListView con adaptador personalizado (objeto)
- 17. Listview con adaptador personalizado que contiene CheckBoxes
- 18. Android ListView's setOnItemClickListener de PopupWindow no se llama
- 19. Diseño de Android centrando en RelativeLayout para ListView personalizado
- 20. ¿Guardar un estado de instancia personalizado de ListView?
- 21. Eliminación de elementos de un ListView utilizando un BaseAdapter personalizado
- 22. Clasificación de ListView por nombre del producto con adaptador personalizado?
- 23. Color de borde/brillo de desbordamiento personalizado para ListView?
- 24. ¿Cómo implementar filtros para BaseAdapter personalizado con ListView?
- 25. ListView con un adaptador personalizado, agregando elementos uno por uno
- 26. Android: EditText en ListView
- 27. botón en listview expandible android
- 28. Listview Horizontal Vertical dentro Listview en QML
- 29. Android: separador personalizado (o incluso elemento) en ListView depening en el contenido del elemento
- 30. ListView dentro de otra ListView
Muchas gracias bigstones. – kangalert
@kangalert de nada.recuerde marcar las respuestas aceptadas (haga clic en la marca de verificación junto a la respuesta), para que la gente sepa que esa es una solución que funciona. también aumenta la reputación de los tuyos y tuyos :) – bigstones