Intereting Posts

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

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

Если EditText не setEnabled(false) [ setEnabled(false) ], он по-прежнему редактируется !

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

Я сделал это проще, setEditable и setFocusable false. Но вы должны это проверить.

Как реплицировать android: editable = "false" в коде?

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

 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; } 

Извлеките значение 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 должно быть истинным.

 editText.setInputType(InputType.TYPE_NULL); 

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

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

разыскивается

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

 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) : ""; } } }); 

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

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

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

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

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

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

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

Устанавливать его true в setFocusableInTouchMode() кажется, делает трюк.

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

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

 et.setEnabled(true); 

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

 et.setEnabled(false); 

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