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

Как программно настроить редактируемый true/false EditText в Android?

Мы можем установить редактируемое свойство EditText в макете XML, но не программно, но нет метода setEditable()!

Если EditText не Включено [by setEnabled(false)], он все еще Редактируемый!

4b9b3361

Ответ 2

Это может помочь:

if (cbProhibitEditPW.isChecked()) { // disable editing password
       editTextPassword.setFocusable(false);
       editTextPassword.setFocusableInTouchMode(false); // user touches widget on phone with touch screen
       editTextPassword.setClickable(false); // user navigates with wheel and selects widget
       isProhibitEditPassword= true;
} else { // enable editing of password
       editTextPassword.setFocusable(true);
       editTextPassword.setFocusableInTouchMode(true);
       editTextPassword.setClickable(true);
       isProhibitEditPassword= false;
}

Ответ 3

Извлеките значение KeyListener EditText на editText.getKeyListener() и сохранить в переменной KeyListener, которая будет содержать Значение свойства Editable:

KeyListener variable;
variable = editText.getKeyListener(); 

Задайте для свойства Editable EditText значение false:

 edittext.setKeyListener(null);

Теперь установите для свойства Editable значение EditText значение true:

editText.setKeyListener(variable);  

Примечание: В XML свойство Editable по умолчанию для EditText должно быть истинным.

Ответ 4

editText.setInputType(InputType.TYPE_NULL);

Ответ 5

надеюсь, что это поможет вам:

edittext1.setKeyListener(null);
edittext1.setCursorVisible(false);
edittext1.setPressed(false);
edittext1.setFocusable(false);

Ответ 6

Попробуйте это, он отлично работает для меня.

EditText.setInputType(0);
EditText.setFilters(new InputFilter[] {new InputFilter()
{
@Override
public CharSequence filter(CharSequence source, int start,
                            int end, Spanned dest, int dstart, int dend) 
{
return source.length() < 1 ? dest.subSequence(dstart, dend) : "";

}
}
});

Ответ 7

попробуйте это,

EditText editText=(EditText)findViewById(R.id.editText1);

editText.setKeyListener(null);

Он отлично работает...

Ответ 8

editText.setFocusable(false);
editText.setClickable(false);

Ответ 9

Как только фокус текста редактирования удаляется, он не позволит вам вводить текст, даже если вы снова настроили его на фокусировку.

Вот путь вокруг него

if (someCondition)
   editTextField.setFocusable(false);
else
   editTextField.setFocusableInTouchMode(true);

Устанавливает значение true в setFocusableInTouchMode(), похоже, делает трюк.

Ответ 10

Как это сделать программно:

Чтобы включить использование EditText:

et.setEnabled(true);

Чтобы отключить использование EditText:

et.setEnabled(false);

Ответ 11

Так как setEditable(false) устарел, используйте textView.setKeyListener(null);, чтобы сделать editText неактивным.

Ответ 12

Простой и безопасный метод:

editText.clearFocus();
editText.setFocusable(false);