Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


No se puede acceder a ViewStub'child

Estoy intentando utilizar VIEWSTUB dentro de la etiqueta de la mezcla. Y su funcionamiento well.I'm capaz de coger onclicklistenr del botón principal de ViewStub. Pero quiero tener acceso al botón que está dentro del viewstub.

1.Main xml:

<merge> <LinearLayout> <Button></Button> <ViewStub></ViewStub> </LinearLayout> </merge> 

2.visualizar el diseño de los trozos

 <Button android:id="@+id/button_cancel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:minWidth="100dip" android:text="Next" /> <ImageView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/imageView" android:background="@drawable/golden_gate" /> </LinearLayout> 

Estoy inflando talón de vista en una actividad … aquí quiero disparar evento de clic en el botón cancel.How será posible

  • Diferencia entre <include> y <ViewStub> en android
  • Vinculación de datos de Android: cómo usar ViewStub con vinculación de datos
  • ViewStub aumenta el error al inflar más de un diseño condicionalmente
  • ViewStub vs View.GONE
  • La vista en el visor no se actualiza (no toma altura)
  • One Solution collect form web for “No se puede acceder a ViewStub'child”

    Supongamos que su ID ViewStub es view_stub. Debes hacer lo siguiente en la actividad:

     ViewStub viewStub = (ViewStub) findViewById(R.id.view_stub); View inflatedView = viewStub.inflate(); Button button = (Button) inflatedView.findViewById(R.id.button_cancel); 

    Ahora puede hacer lo que quiera con el botón 🙂 Es decir, el método infle devuelve el diseño de stub que contiene los elementos reales del archivo XML.

    Por supuesto, siempre puedes tener el atributo onClick XML …

    En cuanto a la eliminación de la ViewStub – la pregunta es doble (ver http://developer.android.com/resources/articles/layout-tricks-stubs.html ):

    • Antes de la inflación de ViewStub – en realidad no se puede eliminar. No es necesario, sin embargo, desde ViewStub "no tiene dimensión, no dibuja nada y no participa en el diseño de ninguna manera".

    • Después de la inflación – usted acaba de tomar la vista devuelta por el método ViewStub.inflate () y hacer lo que quiera con él – por ejemplo, ocultarlo.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.