Как я могу отключить ввод в поле EditText
в Android?
Как отключить EditText в Android
Ответ 1
Я думаю, что это ошибка в android. Его можно исправить добавлением этого патча:)
Проверьте эти ссылки
вопрос 1
а также
вопрос 2
Надеюсь, это будет полезно.
Ответ 2
вы можете использовать EditText.setFocusable(false)
, чтобы отключить редактирование EditText.setFocusableInTouchMode(true)
, чтобы включить редактирование;
Ответ 3
В коде:
editText.setEnabled(false);
Или в XML:
android:editable="false"
Ответ 4
Предполагая, что editText
является объектом editText
:
editText.setEnabled(false);
Ответ 5
Просто установите свойство focusitable вашего edittext на "false", и вы закончите.
<EditText
android:id="@+id/EditTextInput"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:focusable="false"
android:gravity="right"
android:cursorVisible="true">
</EditText>
Ниже параметров не работает
В коде:
editText.setEnabled(false);
Или, в XML:
android:editable="false"
Ответ 6
Вы можете попробовать следующий метод:
private void disableEditText(EditText editText) {
editText.setFocusable(false);
editText.setEnabled(false);
editText.setCursorVisible(false);
editText.setKeyListener(null);
editText.setBackgroundColor(Color.TRANSPARENT);
}
Включено EditText:
Отключено EditText:
Это работает для меня и надеюсь, что это поможет вам.
Ответ 7
Edittext edittext = (EditText)findViewById(R.id.edit);
edittext.setEnabled(false);
Ответ 8
Следующий код отключает EditText в android
editText.setEnabled(false);
Ответ 9
edittext.setFocusable(false);
edittext.setEnabled(false);
InputMethodManager imm = (InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0);
//removes on screen keyboard
Ответ 10
Чтобы отключить edittext в android:
editText.setEnabled(false);
Ответ 11
Вы можете написать edittext.setInputType(0)
, если вы хотите показать edittext, но не вводить никаких значений
Ответ 12
Включить:
private void enableEditText() {
mEditText.setFocusableInTouchMode(true);
mEditText.setFocusable(true);
mEditText.setEnabled(true);
}
Отключение:
private void disableEditText() {
mEditText.setEnabled(false);
mEditText.setFocusable(false);
mEditText.setFocusableInTouchMode(false);
}
Ответ 13
Запишите это в родительском:
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
Пример:
<RelativeLayout
android:id="@+id/menu_2_zawezanie_rl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/menu_2_horizontalScrollView"
android:descendantFocusability="beforeDescendants"
android:focusableInTouchMode="true"
android:orientation="horizontal"
android:background="@drawable/rame">
<EditText
android:id="@+id/menu2_et"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/menu2_ibtn"
android:gravity="center"
android:hint="@string/filtruj" >
</EditText>
<ImageButton
android:id="@+id/menu2_ibtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:background="@null"
android:src="@drawable/selector_btn" />
Ответ 14
По мне... если вы уже объявили edittext
в файле XML и установили свойство в файле XML "android:enabled=false"
и отключили его во время выполнения в это время в java файле, добавив только 2 или 3 линии
- Сначала создайте объект
- Объявление EditText et1;
-
Получить по id
et1 = (EditText) FindViewById(R.id.edittext1);
et1.setEnabled(false);
Вы можете включить или отключить каждый элемент управления во время выполнения с помощью java файла и времени разработки XML файла.
Ответ 15
editable
свойство XML устарело с уровня API 15.
Теперь вы должны использовать свойство inputType
со значением none
. Но есть ошибка, которая делает эту функциональность бесполезной.
Здесь вы можете следить за статусом вопроса.