简单的布局:
<?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>
textInputLayout
如果活动是第一次初始化,我将禁用:
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
}
}
我已经检查了“不要保留活动”选项。
所以最初当活动启动时,TextInputLayout
被禁用。当我按 home 并返回时,它再次重新启用。
所以我的问题是:
- 这是预期的行为吗?
- 重新创建时如何保持
TextInputLayout
禁用状态?
编辑:
这似乎也发生在EditText
。