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)); } 

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.

  • El botón no está llamando a OnClickListener con el primer clic
  • No se encontró ningún recurso en el archivo XML de diseño android
  • Cómo acceder a la estructura de cadenas xml siguiente estructura
  • Variables de Android en strings.xml
  • ¿Cómo puedo concatenar cadenas estáticas con recursos de cadena XML?
  • Analizar XML desde un sitio web a un dispositivo Android
  • Ajustes redimensionables en Android 3.1
  • Diseño de notificaciones personalizadas de Android con RemoteViews
  • Botón con el icono izquierdo y el texto perfectamente alineados
  • XML dentro de un recurso de cadena de Android?
  • Cómo configurar el fondo del botón seleccionado / no seleccionado en el archivo XML
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.