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 …?
- Ocultar / mostrar MenuItem en el clic de la barra de acción android
- ¿Cómo pasar el evento onClick a su padre en Android?
- Html onclick disparando dos veces en Android
- Android llama al método onClick sin hacer clic
- La forma más fácil de tener el botón de abrir el navegador a la URL específica
Por favor ayuda…
- Cómo poner un oyente onclick dentro de un servicio
- Cambiar vista en el flujo de portada - Android
- El cierre de ProgressDialog enClick
- Cómo simular un clic de botón con el código?
- Botón creado dinámicamente de Android: setOnClickListener no funciona
- No se pudo encontrar un método onClick (View) en la clase de actividad android.view.ContextThemeWrapper para onClick handler
- Evento de clic de AutoCompleteTextView en Android
- Android no puede encontrar mi método onClick
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:
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)
- Mejor práctica para actualizar los argumentos de un fragmento?
- ¿Cómo escalar un sitio web para dispositivos móviles?