TextInputLayout habilitado no guardado después de destruir y volver a crear

Diseño simple:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.infinitebounds.myapplication.Main2Activity"> <android.support.design.widget.TextInputLayout android:id="@+id/tip" android:layout_width="match_parent" android:layout_height="match_parent"> <EditText android:id="@+id/et" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="hint" /> </android.support.design.widget.TextInputLayout> </LinearLayout> 

Y estoy desactivando el textInputLayout si la actividad se inicializa por primera vez:

 class Main2Activity : AppCompatActivity() { lateinit var tip: TextInputLayout lateinit var et: EditText override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main2) tip = findViewById(R.id.tip) as TextInputLayout et = findViewById(R.id.et) as EditText if (savedInstanceState == null) tip.isEnabled = false } } 

He marcado la opción "No mantener actividades".

Entonces, inicialmente, cuando se inicia la actividad, TextInputLayout está deshabilitado. Cuando presiono inicio y vuelvo, se vuelve a habilitar nuevamente.

Entonces mis preguntas son:

  1. Es este el comportamiento esperado?
  2. ¿Cómo mantengo TextInputLayout deshabilitado cuando se recrea?

Editar:

Esto parece suceder con EditText también.

Es este el comportamiento esperado?

Sí, lo es (suponiendo que "Do not Keep Activities" está marcado).

La primera vez que se lanza la aplicación, savedInstanceState es nula: su verificación if pasa y establece el estado de TextInputLayout en deshabilitado.

Tan pronto como presiona el button de inicio y regresa, se onCreate() , pero esta vez savedInstanceState no es nulo: su verificación if no pasa.

¿Cómo mantengo TextInputLayout deshabilitado cuando se recrea?

Deshágase de if control es completo, es inútil. Ejecute tip.isEnabled = false directamente dentro de onCreate() , o realice eso en xml : android:enabled="false" .