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" .

  • No se puede conseguir que las classs de Kotlin en el proyecto Java maven funcionen (Eclipse)
  • Errores de ejemplo de inicio de Ktor
  • Agregar la aplicación Library to Gradle Kotlin
  • Especificación Jpa para encontrar un subset del valor del campo
  • El método no se llama, no hay error, tal vez tiene que ver con generics / objects complementarios / inheritance / concurrency / en línea
  • Error de segmentación de Android Emulator 6824
  • Método de llamada en class genérica a través de la reflexión
  • Conversión de código de Java a Kotlin en Android Studio
  • Android Dagger: no puedo proporcionar una class externa sin el constructor @Inject
  • Cómo acceder a los miembros de un object interno en Kotlin
  • Kotlin llama al método java con el argumento Clase <T>