Mi listview no me coge el evento click

1,702 views
Skip to first unread message

aaRon

unread,
Jun 1, 2012, 6:02:54 AM6/1/12
to desarrollad...@googlegroups.com
Hola amigos, tengo una lista en la cual tengo cargados datos y al hacer click en el elemento el evento setonitemclick no me funciona. Dejo aqui el metodo click que tengo:

//Método al hacer click en el elemento de la lista.
    lista_s.setOnItemClickListener(new OnItemClickListener(){
            @Override
        public void onItemClick(AdapterView<?> a, View v, int position, long id){
            Log.w("DEBUG", "dado.");
            Principal.posit=position;
            Intent nt=new Intent(Act_Articulos_Simp.this, Registro.class);
            startActivity(nt);
            }//Fin onItemClick
    });//Fin setOnItemClick

Hago click y no me funciona. Nose que puede ser, ¿Alguien me ayuda?
Un saludo.

Juan de Dios Maldonado Sánchez

unread,
Jun 1, 2012, 6:09:59 AM6/1/12
to desarrollad...@googlegroups.com
En cuanto metas un View activo (Button, ImageButton, Checkbox, etc) dentro de las filas, estas dejan de comportarse como normalmente se comportan.

Si quieres utilizar esa forma de detectar clic en las filas de la lista, desactiva todos los elementos activos que tienes en cada fila añadiéndoles:


android:focusable="false"
android
:focusableInTouchMode="false"

De esta forma, no tomarán el evento onClick sobre ellos, delegando el mismo para el onClick de la lista.

2012/6/1 aaRon <aaron...@gmail.com>

--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para ver este debate en la Web, visita https://groups.google.com/d/msg/desarrolladores-android/-/-ApfO6a3w4QJ.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es.



--
An'Brain - Prueba el nuevo widget inteligente para tu Android.
Idiotizer Free - Idiotiza a tus amigos. (Se requieren auriculares)
Track My App - Realiza un seguimiento de tus aplicaciones en el Android market.

aaRon

unread,
Jun 1, 2012, 6:19:31 AM6/1/12
to desarrollad...@googlegroups.com
Hay que poner en todos los elementos de la fila, o solamente en el listview. Es que los he puesto en todos los elementos y me sigue sin funcionar.


El viernes, 1 de junio de 2012 12:09:59 UTC+2, juande escribió:
En cuanto metas un View activo (Button, ImageButton, Checkbox, etc) dentro de las filas, estas dejan de comportarse como normalmente se comportan.

Si quieres utilizar esa forma de detectar clic en las filas de la lista, desactiva todos los elementos activos que tienes en cada fila añadiéndoles:

android:focusable="false"
android
:focusableInTouchMode="false"

De esta forma, no tomarán el evento onClick sobre ellos, delegando el mismo para el onClick de la lista.

2012/6/1 aaRon <aaron...@gmail.com>
Hola amigos, tengo una lista en la cual tengo cargados datos y al hacer click en el elemento el evento setonitemclick no me funciona. Dejo aqui el metodo click que tengo:

//Método al hacer click en el elemento de la lista.
    lista_s.setOnItemClickListener(new OnItemClickListener(){
            @Override
        public void onItemClick(AdapterView<?> a, View v, int position, long id){
            Log.w("DEBUG", "dado.");
            Principal.posit=position;
            Intent nt=new Intent(Act_Articulos_Simp.this, Registro.class);
            startActivity(nt);
            }//Fin onItemClick
    });//Fin setOnItemClick

Hago click y no me funciona. Nose que puede ser, ¿Alguien me ayuda?
Un saludo.

--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para ver este debate en la Web, visita https://groups.google.com/d/msg/desarrolladores-android/-/-ApfO6a3w4QJ.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrolladores-android@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com

Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es.

Juan de Dios Maldonado Sánchez

unread,
Jun 1, 2012, 6:21:40 AM6/1/12
to desarrollad...@googlegroups.com
Elimina los eventos onClick de los Views que tengas en cada fila.

2012/6/1 aaRon <aaron...@gmail.com>
Para ver este debate en la Web, visita https://groups.google.com/d/msg/desarrolladores-android/-/7v4ANwS4NuQJ.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com

Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es.

aaRon

unread,
Jun 1, 2012, 6:25:35 AM6/1/12
to desarrollad...@googlegroups.com
No tengo ningún evento click. Te dejo el diseño de la fila:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" 
    android:background="@drawable/gradient_bg" 
    android:padding="5dip"
    android:focusable="false"
android:focusableInTouchMode="false" >
    
    <LinearLayout android:id="@+id/thumbnail_art"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="3dip"
        android:layout_alignParentLeft="true"
        android:background="@drawable/image_bg"
        android:layout_marginRight="5dip"
        android:focusable="false"
android:focusableInTouchMode="false" >
    <ImageView
        android:id="@+id/img_contacto_art"
        android:layout_width="80sp"
        android:layout_height="80sp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:src="@drawable/ic_launcher"
        android:focusable="false"
android:focusableInTouchMode="false" />
    </LinearLayout>
    <LinearLayout android:id="@+id/linear_desc"
        android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="90dp"
    android:focusable="false"
android:focusableInTouchMode="false" >
    <TextView android:id="@+id/value_desc_art" 
       android:text="Nombre empresa"
       android:textSize="13sp"
       android:typeface="sans"
       android:textStyle="bold"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:textColor="#000000"
       android:lines="2"
       android:focusable="false"
android:focusableInTouchMode="false" />
    </LinearLayout>
    <LinearLayout android:id="@+id/linear_info"
        android:layout_width="wrap_content"
       android:layout_height="wrap_content"
        android:layout_marginLeft="90dp"
        android:layout_marginTop="40dp"
        android:focusable="false"
android:focusableInTouchMode="false" >
    <TextView android:id="@+id/value_inf_art"
            android:textSize="10sp" 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
       android:textColor="#000000"
       android:lines="2"
       android:text="Aqui información"
       android:focusable="false"
android:focusableInTouchMode="false" />
    </LinearLayout>
    <LinearLayout android:id="@+id/linear_precio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="90dp"
        android:layout_marginTop="65dp"
        android:focusable="false"
android:focusableInTouchMode="false" >
    <TextView android:id="@+id/value_precio_art"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="precio"
        android:textSize="30dp"
        android:textStyle="bold"
        android:focusable="false"
android:focusableInTouchMode="false"/>
</LinearLayout>
<ImageButton android:id="@+id/imgButton_shop"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:src="@drawable/shopping_cart_add_icon_36"
   android:background="@android:color/transparent"
   android:layout_marginLeft="270dp"
   android:layout_marginTop="70dp"
   android:focusable="false"
android:focusableInTouchMode="false" />
</RelativeLayout>
2012/6/1 aaRon <aaron...@gmail.com>
2012/6/1 aaRon <aaron...@gmail.com>
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-android+unsubscr...@googlegroups.com

Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es.



--
An'Brain - Prueba el nuevo widget inteligente para tu Android.
Idiotizer Free - Idiotiza a tus amigos. (Se requieren auriculares)
Track My App - Realiza un seguimiento de tus aplicaciones en el Android market.

--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para ver este debate en la Web, visita https://groups.google.com/d/msg/desarrolladores-android/-/7v4ANwS4NuQJ.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrolladores-android@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es.

Juan de Dios Maldonado Sánchez

unread,
Jun 1, 2012, 6:34:37 AM6/1/12
to desarrollad...@googlegroups.com
A ver...

¿y qué pasa con ImgButton_shop? ¿Seguro que no estás añadiéndole un Listener para el onClick desde Java?

Ya te lo dije en otro hilo de conversación (el de obtener el número de fila a la hora de hacer clic en el ListView) y creo que lo dije bien claro:

O utilizas los eventos "onClick" de los elementos que pongas en las filas de la lista, O utilizas el evento "onItemClickListener".

NO SE PUEDEN UTILIZAR LOS DOS

Si quieres tener botones clicables y luego además que la fila se pueda clicar, deberías añadir el evento onClick al RelativeLayout padre de todos los elementos de la fila. Pero eso es una chapuza, ya que tendrías que currarte los estados de foco del RelativeLayout y demás...

2012/6/1 aaRon <aaron...@gmail.com>
Para ver este debate en la Web, visita https://groups.google.com/d/msg/desarrolladores-android/-/3pPVuGB93OoJ.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com

Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es.

aaRon

unread,
Jun 1, 2012, 6:38:01 AM6/1/12
to desarrollad...@googlegroups.com
Yo no utilizo ningún onClick, solamente utilizo el setOnItemClickListener.
2012/6/1 aaRon <aaron...@gmail.com>
Para publicar una entrada en este grupo, envía un correo electrónico a desarrolladores-android@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es.

Juan de Dios Maldonado Sánchez

unread,
Jun 1, 2012, 6:39:07 AM6/1/12
to desarrollad...@googlegroups.com
Entonces... ¿ese imgButton_shop no hace nada cuando se pulsa?

2012/6/1 aaRon <aaron...@gmail.com>
Para ver este debate en la Web, visita https://groups.google.com/d/msg/desarrolladores-android/-/gmPh60NS8moJ.

Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com

Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es.

aaRon

unread,
Jun 1, 2012, 6:39:55 AM6/1/12
to desarrollad...@googlegroups.com
Solamente le agrego el setTag() en el adaptador y ya está. No utilizo ningun evento onClick en ningun sitio.

Juan de Dios Maldonado Sánchez

unread,
Jun 1, 2012, 6:41:54 AM6/1/12
to desarrollad...@googlegroups.com
A ver... ¿Pero ese botón no hace nada cuando se pulsa? Porque si no hace nada... entonces ¿Por qué está ahí puesto? ¿Decoración?

2012/6/1 aaRon <aaron...@gmail.com>
--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.

Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es.

aaRon

unread,
Jun 1, 2012, 6:45:07 AM6/1/12
to desarrollad...@googlegroups.com
Ya está solucionado. En el adaptador donde añado el imageButton e puesto el setFocusable(false) y me ha funcionado. Gracias.

aaRon

unread,
Jun 1, 2012, 6:55:34 AM6/1/12
to desarrollad...@googlegroups.com
Hacer si hace, cuando se de a ese botón. se tiene que añadir a un carro de la compra que tengo.

Juan de Dios Maldonado Sánchez

unread,
Jun 1, 2012, 7:13:09 AM6/1/12
to desarrollad...@googlegroups.com
Pues a eso me refería...

Me alegro de que hayas conseguido hacer lo que querías hacer, aunque espero que seas consciente de los problemas que trae utilizar setFocusable(false) en el ListView cuando además tienes elementos activos en las filas. Eso no se debería hacer... pero si crees que te vale, entonces perfecto.

2012/6/1 aaRon <aaron...@gmail.com>
--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.

Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es.
Reply all
Reply to author
Forward
0 new messages