2011-12-22 5 views
0

Я пишу приложение на Android, и у меня есть эти кнопки; когда вы нажимаете на них, появляется панель ввода (EditText), если она еще не видна, иначе она исчезает. Проблема заключается в том, что пользователь все еще может ввести текст EditText даже после его исчезновения. Я прикрепил две фотографии, чтобы показать, что я имею в виду.Как отключить ввод текста в EditText, когда его visibilty настроен на Gone

User can type when Edit Text is visible User can type when EditText is gone (I can still type)

Я попытался .setEnabled(false) - не работает.

Я пробовал .setFocusable(false) - не работал.

Я попробовал оба вместе - не работал.

ответ

1

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

InputMethodManager imm = (InputMethodManager) YourActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(editView.getWindowToken(), 0); 
+1

Нет, это не работает:/Хорошая идея, хотя. –

+0

Мой плохой. Он работает сейчас! Благодаря :) –

1

вы можете использовать TextWatcher Alongwith флаг http://developer.android.com/reference/android/text/TextWatcher.html

подготовки логика такова, что когда-то visibilty ушел тогда в public void onTextChanged(CharSequence s, int start, int before, int count) поставить тот же текст, как ранее

см это слишком Android TextWatcher.afterTextChanged vs TextWatcher.onTextChanged