Я хотел бы знать, как я могу запретить элементу управления EditText
отображать клавиатуру каждый раз, когда он получает фокус или пользователь наводит курсор на элемент управления.
Причина этого в том, что я хочу использовать указанный элемент управления для отображения диалогового окна календаря каждый раз, когда он получает фокус или пользователь наводит курсор на элемент управления, чтобы элемент управления получал значение даты (у меня уже реализована эта последняя часть ).
В принципе, согласно документации Android , установка атрибута android:inputType="none"
type поля EditText
делает текст нередактируемым, поэтому ожидаемое поведение заключается в том, что клавиатура Android не отображается . Однако клавиатура по-прежнему появляется каждый раз, когда элемент управления получает фокус или когда пользователь щелкает элемент управления.
Вот код xml для определения элемента управления:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- Controles -->
<android.support.design.widget.TextInputLayout
android:id="@+id/tiFechaCaducidad"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/etFechaCaducidad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/fechacaducidad"
android:singleLine="true"
android:inputType="none"
android:drawableRight="@drawable/ic_arrow_drop_down" />
</android.support.design.widget.TextInputLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
Вы можете попробовать использовать это, надеюсь, это поможет. Я собирался написать это как комментарий, но он был слишком длинным:
это метод TextView:
Это был бы способ сделать это, потребляя событие
onTouch()
:Поместите следующее в свойства текста редактирования :
Ответом на ваш вопрос будет присвоение типа
null
входу вашегоEditText
При вводе параметра
null
параметр, который получает текст и автоматически отправляет клавиатуру Android, будет деактивирован, и будет зависеть только от ввода текста, который вы обрабатываете с помощью кода на экране.