Obtener el id de una vista como String en el evento onClick

Hola estoy tratando de obtener el ID que se establecen en cada uno de estos diseños lineales, pero en cambio estoy recibiendo

android.widget.LinearLayout@41032a40 o similar que no es mucho uso para mí.

He fijado el id a row1, y eso es lo que me gustaría volver.

Estoy seguro de que he hecho algo similar antes, así que no puedo entender por qué está devolviendo lo anterior.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gridview" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:id="@+id/row1" android:layout_width="fill_parent" android:layout_height="30dip" android:background="@android:color/black" android:onClick="xmlClickHandler" /> <LinearLayout android:id="@+id/row2" android:layout_width="fill_parent" android:layout_height="30dip" android:background="@android:color/white" android:onClick="xmlClickHandler" /> <LinearLayout android:id="@+id/row3" android:layout_width="fill_parent" android:layout_height="30dip" android:background="@android:color/black" android:onClick="xmlClickHandler" /> <LinearLayout android:id="@+id/row4" android:layout_width="fill_parent" android:layout_height="30dip" android:background="@color/white" android:onClick="xmlClickHandler" /> <LinearLayout android:id="@+id/row5" android:layout_width="fill_parent" android:layout_height="30dip" android:background="@color/yellow" android:onClick="xmlClickHandler" /> <LinearLayout android:id="@+id/row6" android:layout_width="fill_parent" android:layout_height="30dip" android:background="@color/blue" android:onClick="xmlClickHandler" /> 

  public void xmlClickHandler(View v) { Log.d("CLICK ROW", String.valueOf(v)); } 

6 Solutions collect form web for “Obtener el id de una vista como String en el evento onClick”

Intente establecer android:tag="row1" y utilice Log.d("CLICK ROW", String.valueOf(v.getTag())); para imprimir el ID.

ID de vista se puede comprobar mediante v.getID ()

Usted puede simplemente comprobar como

  if(v.getId()==R.id.row1) 

y realizar la tarea deseada en consecuencia.

Puedes hacerlo de esta manera:

 public void xmlClickHandler(View v) { String viewID = getResources().getResourceName(v.getId()); } 

Y que usted tiene que analizar la cadena de resultado.

utilice v.getId() lugar para obtener el Id

 Log.d("CLICK ROW", String.valueOf(v.getId())); 

v es una instancia de la clase View y puede utilizar el método getId() para obtener el ID de la vista.

Acabo de ver otra pregunta, al parecer no se puede devolver el ID como una cadena.

  • Botón con diseño XML personalizado
  • Texto del botón que no consigue centrado verticalmente en botón
  • ¿Cómo puedo concatenar cadenas estáticas con recursos de cadena XML?
  • Android SlidingPaneLayout se desvanece en las vistas incorrectas
  • Cómo registrar la clase de aplicación en mi archivo de manifiesto
  • ¿Cómo establecer la distancia entre textview y drawable en un botón?
  • Configuración de lint.xml de Android Studio
  • Crashing debido a "No identificador de paquete al obtener el valor del número de recurso ..."
  • Establecer el estilo de fuente en negrita del menú de la barra de herramientas appcompat
  • Descripción de los diseños de diálogo de Android
  • Cambiar el tamaño de una casilla de verificación en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.