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

Можем ли мы иметь неотредактированный текст в edittext

Я использую EditText. Возможно ли, чтобы часть текста была неотредактирована, а остальная часть редактировалась в том же EditText?

4b9b3361

Ответ 1

Вы можете использовать

editText.setFocusable(false);

или

editText.setEnabled(false);

хотя отключение EditText в настоящее время не игнорирует ввод с экранной клавиатуры (я думаю, что ошибка).

В зависимости от приложения лучше использовать InputFilter, который отклоняет все изменения:

editText.setFilters(new InputFilter[] {
    new InputFilter() {
        public CharSequence filter(CharSequence src, int start,
            int end, Spanned dst, int dstart, int dend) {
            return src.length() < 1 ? dst.subSequence(dstart, dend) : "";
        }
    }
});

Также см. этот вопрос.

Ответ 2

Вы можете реализовать TextChangedListener, где вы убедитесь, что те части вашего текста не получат deleted/overwritten.

class TextChangedListener implements TextWatcher {
    public void afterTextChanged(Editable s) {
                makeSureNothingIsDeleted();
    }

    public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

    public void onTextChanged(CharSequence s, int start, int before, int count) {}
}

    TextChangedListener tcl = new TextChangedListener();
    my_editable.addTextChangedListener(tcl);

Ответ 3

Попробуйте следующий код в своем XML файле: -

             <EditText
                android:id="@+id/et_date"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:clickable="false"
                android:cursorVisible="false"
                android:focusable="false"
                android:focusableInTouchMode="false"
                android:hint="dd/mm/yy"
                android:inputType="text"
                android:textColor="@color/sky_blue"
                android:fontFamily="@font/poppinsregular"
                android:textSize="@dimen/sp_14"/>