Подтвердить что ты не робот

Как отключить EditText в Android

Как я могу отключить ввод в поле EditText в Android?

4b9b3361

Ответ 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:

Enabled EditText

Отключено EditText:

Disabled 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. Но есть ошибка, которая делает эту функциональность бесполезной.

Здесь вы можете следить за статусом вопроса.