TextInputLayout no se muestra cuando se agrega programativamente

Noté un comportamiento extraño de TextInputLayout :

Cuando añado lo siguiente a mi diseño:

<android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <EditText android:id="@+id/txtFirstName" style="@style/EditTextStyle" android:layout_width="match_parent" android:layout_height="match_parent" android:hint="In layout" android:singleLine="true" /> </android.support.design.widget.TextInputLayout> 

Todo funciona como se esperaba.

Cuando hincho un diseño similar como:

  View v = LayoutInflater.from(this).inflate(R.layout.edittext_w_surrounding_textinputlayout, null); EditText editText = (EditText) v.findViewById(R.id.editText); editText.setHint("Added programmatically"); ViewGroup root = (ViewGroup) findViewById(R.id.root); root.addView(v); 

El TextInputLayout no aparece y el EditText comporta de la manera estándar.

¿Alguna idea cuál podría ser la razón?

Introduzca aquí la descripción de la imagen

Debería cambiar la sugerencia, no en EditText, pero en TextInputLayout. Así será:

 TextInputLayout v = (TextInputLayout) LayoutInflater.from(this).inflate(R.layout.edittext_w_surrounding_textinputlayout, null); v.setHint("Added programmatically"); 

TextInputLayout tiene su propio parámetro de sugerencia y cuando se infla desde el diseño que obtener una pista de su hijo EditText y establecer una pista vacía en él.

Cuando quiera cambiar la sugerencia mediante programación, tiene que llamar a textInputLayout.setHint (texto String) en lugar de cambiar la sugerencia EditText

Yo uso esto ((FrameLayout) findViewById (R.id.framePreview)). AddView (vista previa); Sin problemas en absoluto, tal vez es el tipo de vista? Debería esto

 ViewGroup root = (ViewGroup) findViewById(R.id.root); root.addView(v); 

No ser esto

 LinearLayout root = (LinearLayout) findViewById(R.id.root); root.addView(v); 
  • TextInputLayout establecer error sin mensaje?
  • Error al inflacionar la clase EditText al crear TextInputLayout en Android 4.4.2:
  • Cómo cambiar la posición de etiqueta flotante de TextInputLayout en android
  • Android TextInputLayouts perder texto / contenido al volver en la transacción de fragmentos
  • TextInputLayout etiqueta a achor encima de la izquierda dibujable de un EditText
  • Cómo hacer que TextInputLayout asigne rojo asterisco para los campos obligatorios
  • Mostrar el texto del ayudante debajo de EditText junto con la sugerencia
  • Etiqueta flotante Spinner?
  • Sugerencia de float de AutoCompleteTextView
  • TextInputLayout error después de ingresar el valor en edittext
  • Android: TextInputLayout esconde drawableRight de un niño EditText
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.