Android: подсказка всегда объявляется в режиме разговора
Я хочу реализовать средство выбора даты и времени, это TextView с подсказкой "Дата" и "Время", но они будут заполнять фактическое содержимое после выбора реальной даты и времени.
Мой код xml такой
<LinearLayout
android:id="@+id/happened_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal">
<TextView
android:id="@+id/date_picker"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:clickable="true"
android:background="?attr/selectableItemBackground"
android:textSize="16sp"
android:paddingLeft="4dp"
android:paddingRight="20dp"
android:paddingVertical="15dp"
android:drawableStart="@drawable/access_time"
android:drawablePadding="25dp"
android:hint="@string/date_picker"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"/>
<TextView
android:id="@+id/time_picker"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:clickable="true"
android:background="?attr/selectableItemBackground"
android:textSize="16sp"
android:paddingHorizontal="20dp"
android:paddingVertical="15dp"
android:hint="@string/time_picker"/>
</LinearLayout>
Это выглядит так
но когда я включаю режим обратной связи, он будет читать "дата дата" и "время время".
Я также устанавливаю contentDescription динамически,
Я определил в string.xml
<string name="desc_date_picker">Happened date: <xliff:g id="date" example="Dec 14, 2018">%s</xliff:g></string>
<string name="desc_time_picker">Happened time: <xliff:g id="date" example="10:39 AM">%s</xliff:g></string>
и установите его в dateField и timeField, когда новое значение установлено
dateField.setContentDescription(getString(R.string.desc_date_picker, date)); timeField.setContentDescription(getString(R.string.desc_time_picker, time));
Затем, когда скриншот выглядит так
В режиме обратной связи на нем будут отображаться "Дата наступления: 14 декабря 2018 г." и "Время произошедшего: 12:00 по времени"
Я ожидаю, что он будет читать "дата" и "время", когда есть только подсказка в TextView, и читать "Произошла дата: 14 декабря 2018 года" и "Произошло время: 12:00 вечера", когда он заполнен другим контентом. Я попытался установить Hint(null), но я не хочу этого делать, поскольку он пропустит текст подсказки при повороте и не разрешит "дату даты" в этом случае.