Метод фокусировки EditText не работает должным образом в Android
У меня есть кнопка "показать", и когда кнопка нажата, текстовое поле редактирования не должно быть редактируемым, и когда я нажимаю "Далее", я должен вернуть фокус для редактирования текстового поля. Я попробовал приведенный ниже код
showans.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setFocusable(false);
}
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setFocusable(true);
editText.setClickable(true);
}
}
Я пытался изменить значения между setFocusable и setClickable, но ничего не помогло. Когда я нажимаю кнопку showans в первый раз, поле редактирования теряет фокус и становится недоступным для нажатия, хотя я устанавливаю значение true, когда нажимаю кнопку "Далее" и все эти кнопки. Все эти текстовые поля и кнопки генерируются динамически. Любая помощь будет отличной!! Спасибо
4 ответа
Ты можешь использовать
editText.setInputType(InputType.TYPE_NULL); for uneditable EditText
а также
editText.setInputType(InputType.TYPE_CLASS_TEXT)
to make it editable
Вы можете попробовать использовать setFocusableInTouchMode
- поэтому ваш код изменится на что-то вроде этого:
showans.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setFocusable(false);
editText.setFocusableInTouchMode(false);
}
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
editText.setFocusable(true);
editText.setClickable(true);
editText.setFocusableInTouchMode(true);
}
}
Попробуйте и дайте мне знать, если это поможет.
Вы можете использовать метод setEnabled(), чтобы отключить или включить editText
//to disable
editText.setEnabled(false);
//to re enable
editText.setEnabled(true);
Пожалуйста, измените на editText.requestFocus();
Ты можешь использовать editText.clearFocus();