Как изменить верхнюю подсказку в MaterialDesign EditText?

Я использую TextInputEditText и Котлин. Пытаюсь изменить подсказку программно. Но поменял только в коробке. Добавить при движении вверх, когда я что-то писал - верхняя подсказка не отображается.

Я использую этот код в onCreate:

editTextChooseDate.hint = "Please choose the Date"

а позже я проверяю, есть ли у editTextChooseDate какой-то тест, и пытаюсь изменить подсказку:

 editTextChooseDate.hint = "Selected Date"

В xml есть editTextChooseDate:

<com.google.android.material.textfield.TextInputLayout
        android:id="@+id/layoutEditTextChooseDate"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent">

    <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/editTextChooseDate"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text=""
            android:maxLines="1"/>

</com.google.android.material.textfield.TextInputLayout>

Я ожидал изменить верхнюю подсказку программно.


person EvgeTymo    schedule 02.08.2019    source источник


Ответы (2)


Вы должны установить второй hint на layoutEditTextChooseDate вместо editTextChooseDate. Потому что «верхняя подсказка», как вы ее назвали, является частью родительского контейнера TextInputLayout.

person V.March    schedule 02.08.2019

Убедитесь, что вы вносите изменения в основной поток.

Проверьте этот вопрос: программно установить текстовую подсказку редактирования в Android?

Как это, безусловно, возможно.

person Cory Roy    schedule 02.08.2019