Cómo acceder al botón dentro de "incluir" el diseño

Consulte el doc: http://android-developers.blogspot.com/2009/02/android-layout-tricks-2-reusing-layouts.html

Tengo un botón dentro del diseño incluido, ¿cómo puedo acceder al botón? ¡No sé el id! ¿Cómo puedo definir OnClickListener …?

Por favor ayuda…

El ID que tiene con la etiqueta de inclusión se asigna a la vista raíz del diseño incluido. Primero obtenga una referencia a esa vista usando findViewByid. A continuación, puede llamar a findViewById en esa vista específica para obtener una referencia a una vista dentro del diseño. Asi que:

View myLayout = findViewById( R.id.cell1 ); // root View id from that link View myView = myLayout.findViewById( R.id.someinnerview ); // id of a view contained in the included file 

Todo lo que necesita es el id de la vista padre:

Introduzca aquí la descripción de la imagen

En este ejemplo, LinearLayout es el padre del TextView que quiero de la vista incluida.

Ahora puedo hacer esto:

  View view = findViewById(R.id.include_title_layout); TextView titleTV = (TextView) view.findViewById(R.id.newsTitleTextView); titleTV.setText("Whatever"); 

Hay una trampa común con respecto a la resolución ID de widgets cuando se incluye el mismo diseño XML varias veces. Una entrada de blog en http://www.coboltforge.com/2012/05/tech-stuff-layout/ explica exactamente ese problema y cómo solucionarlo!

Usted sabe el id de la inclusión. Usted puede obtener ese elemento completo, y luego obtener uno de sus hijos a partir de ahí.

En realidad include etiquetas incluyen todos los elementos en su diseño de raíz. Así que siempre puedes acceder a ellos usando findViewById en tu actividad.

Supongamos que tiene un alayout.xml en el que hay un diseño de include . Ahora en uno de su actividad A, dentro de onCreate declaró setContentView(R.layout.alayout) Ahora dentro de su diseño de inclusión puede tener un botón con id myBtn . Usted puede tener acceso a eso en el interiorCreate de la misma manera que podría acceder a él si estuviera en el diseño principal: findViewById(R.id.myBtn)

  • Hacer diferencias entre setOnClickListener y setOnTouchListener
  • Establecer OnClickListener para elementos en ListView con 2 vistas
  • Manejo de eventos táctiles - onInterceptTouchEvent y onTouchEvent
  • Android OnClickListener no dispara en GridView (sólo 2.2)
  • Descartar Snackbar A la izquierda deslizar
  • ¿Es posible escribir un bucle for para asignar a los oyentes a muchos botones con la misma función donde se utilizan los últimos?
  • Cambiar el color de TextView que se puede hacer clic en el enfoque y hacer clic?
  • ¿Cómo puedo detectar un clic en el título de ActionBar?
  • Android: El botón OnClickListener no funciona
  • Interceptación de clics desde subview en Android
  • Obtener el id de una vista como String en el evento onClick
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.