我知道这个问题被问了好几次,但我无法让它工作。 EditText 不会填写 onCreate()、onResume()、onPostResume()。
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityLoginBinding.inflate(layoutInflater)
setContentView(binding.root)
account = "XXXX"
binding.etAccount.setText(account) //doesn't work
binding.btnLogin.setOnClickListener {
binding.etAccount.setText(account) //does work
}
}
override fun onPostResume() {
super.onPostResume()
binding.etAccount.setText(account) //doesn't work (onPostResume() is just an experiment)
}
<EditText
android:id="@+id/etAccount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="64dp"
android:ems="16"
android:focusedByDefault="true"
android:hint="@string/account"
android:text=""
android:importantForAutofill="no"
android:inputType="text"
android:minHeight="48dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
buildFeatures {
dataBinding true
viewBinding true
}
提前致谢。