Android agrega ID a un diseño

¿Cómo se define un ID en un diseño?

Estoy intentando agregar una identificación a un linearlayout y fijar un oyente del onclick:

XML:

<LinearLayout android:id="@+id/?????????" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:onClick="btnHandler" > </LinearLayout> 

Clase:

 public class MainActivity extends Activity { //.... public void btnHandler(View v){ switch(v) { case R.id.????? : } } } 

Ya que tienes esto

  <LinearLayout android:id="@+id/linearlayout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:onClick="btnHandler" > </LinearLayout> 

Puedes hacer lo siguiente

  public void btnHandler(View v) { switch(v.getId()) // use v.getId() { case R.id.linearlayout : break; // also don't forget the break; } } 

Editar:

Si tiene un botón, puede hacer lo siguiente.

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/linearlayout" android:onClick="clickEvent" android:orientation="vertical" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/bt1" android:text="button" android:onClick="clickEvent" /> </LinearLayout> 

Entonces en su actividad

 public void clickEvent(View v) { switch(v.getId()) { case R.id.linearlayout : Log.i("......"," linear layout clicked"); break; case R.id.bt1 : Log.i("......"," button clicked"); break; } } 

En lugar de

 switch(v) 

utilizar

 switch(v.getId()) 

Y establecer su id desde el xml

 android:id="@+id/idValue" 

La forma más fácil sería simplemente añadirlo en su diseño xml:

 <LinearLayout android:id="@+id/myId" <!-- the part where the id is being created --> android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:onClick="btnHandler" > </LinearLayout> 

A continuación, puede hacer referencia desde su código a través de your.package.R.id.myId .

 <LinearLayout android:id="@+id/lineaLayoutId" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:onClick="btnHandler" > </LinearLayout> 
 public class MainActivity extends Activity { //.... public void btnHandler(View v){ switch(v) { case R.id.lineaLayoutId : break; } } } 

En onCreate () de su Actividad:

 findViewById(R.id.?????????).setOnClickListener(this); 

Y haga que su actividad implemente View.OnClickListener.

 @Override public void onClick(View view) { if(view.getId() == R.id.?????????) { //your code for on click } } 
  • El diseño de notificaciones personalizadas no funciona en Android 2.3 o inferior
  • WebView height = wrap_content con cambiar el tamaño de fuente no funciona
  • Cómo configurar la altura máxima de un Layout en android?
  • ¿Cómo mostrar los datos como barra de progreso y círculo de progresión del porcentaje de rueda?
  • Establecer tamaño de encabezado listview de forma programática
  • Tamaño de la barra de clasificación android
  • ¿Cómo desactivar un botón de Android?
  • cómo cambiar el fondo en el diseño de Android
  • ¿Cómo dejar pasar el evento a container en android?
  • Restaurar la jerarquía de vista desde el estado guardado no restaura las vistas agregadas programaticamente
  • ¿Cómo accedo a las vistas dentro del diseño cuando la reutilizo varias veces?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.