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

Как сделать EditText uneditable/disabled

У меня есть EditText, в котором пользователь не может предоставить вход. Поэтому я попытался отключить его,

edittext.setEnabled(false);
edittext.setClickable(false);

Но все же, когда я нажимаю кнопку "next" в softKeyboard из какого-то другого EditText, он направляет меня в тот, который не должен редактироваться, и я могу вставлять в него значения. Как этого избежать?

4b9b3361

Ответ 1

Это прекрасно работает; просто настройте свойство вашего 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>

Ответ 2

не перепутайте себя. просто использовать для работы ниже одного

Сначала сохраните прослушиватель клавиш EditText:

KeyListener mKeyListener = yourTextView.getKeyListener();
yourTextView.setKeyListener(null);

Затем, если вы хотите снова включить редактирование, назначьте сохраненный прослушиватель назад:

yourTextView.setKeyListener(mKeyListener);

источник

Ответ 3

yourEditText.setKeyListener(null);

Не нужно удалять фокус и устанавливать значение clickable false.

Просто удалите прослушиватель клавиш, и все готово.

Также протестирован с Android 6.0

Ответ 4

Ok. Я сделал что-то подобное и получил результат.

    edittext.setEnabled(false);
    edittext.setGravity(Gravity.CENTER);
    edittext.setClickable(false);
    edittext.setFocusable(false);
    edittext.setFilters(new InputFilter[] { new textChange() });
    edittext.setInputType(0);

       class textChange implements InputFilter {
    public CharSequence filter(CharSequence source, int start, int end,
            Spanned dest, int dstart, int dend) {

        return dest.subSequence(dstart, dend);
    }
}

Ответ 5

Попробуйте добавить

edittext.setFocusable(false); edittest.setFocusableInTouchMode(false);

Ответ 6

android:focusable="false"
android:longClickable="false"

Добавление этих двух полей в ваш EditText отключит фокус, а также отключит копирование данных в поле EditText.

Ответ 7

Взгляните на this

editText.setEnabled(false); и editText.setFocusable(false);.

Ответ 8

В вашем коде TextText. Вставьте под строку.

android:focusable="false"

Ответ 9

android:focusable="false" 

работал у меня.

Ответ 10

Используйте атрибут imeOptions, чтобы изменить эту кнопку в softKeyboard на

Android: imeOptions = "actionDone"

добавьте его в EditText только до того, который вы хотите отключить.

Ответ 11

Это может быть кто-то полезный. Я нашел одну реализацию:

@Override
    public boolean onTouch(View v, MotionEvent event) {
        //for edit text
        return locked;
    }

где locked заблокировано.

конечно, я должен использовать editText.setOnTouchListener(<listener>);