EditText: избегать фокусировки на setText ()

У меня есть активность с scrollview, содержащая некоторые кнопки и EditText. Таким образом, кнопки над компонентом EditText.

Нажав на кнопку, компонент EditText изменит свое текстовое значение с помощью EditText.setText("foo");

К сожалению, этот вызов установит фокус на компонент EditText, поэтому ScrollView будет прокручиваться до компонента EditText (курсор мигает).

Есть ли способ избежать этого?

Я попытался сделать что-то подобное

 public void setText(String t){ editText.setFocusable(false) editText.setFocusableInTouchMode(false); editText.setText(t); editText.setFocusable(true); editText.setFocusableInTouchMode(true); } 

Но это не работает, а иногда setFocusable(true) оказывает никакого влияния, поэтому EditText больше не «clickable».

Solutions Collecting From Web of "EditText: избегать фокусировки на setText ()"

 editText.clearFocus(); 

Вызывается, когда этот взгляд хочет отказаться от фокуса.

http://developer.android.com/reference/android/view/View.html#clearFocus ()

В вашей кнопке используйте ниже код

 InputMethodManager inputManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS); 

См. Ссылку ниже

Android edittext удаляет фокус после нажатия кнопки

В вашей кнопке используйте код ниже ……

  InputMethodManager inputManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS); 

Используйте это в своем xml :

 <EditText android:clickable="false" android:cursorVisible="false" android:focusable="false" android:focusableInTouchMode="false"> </EditText> 

или

 edittext.setKeyListener(null);