EditText: Vermeiden Sie den Fokus auf setText ()

Ich habe eine Aktivität mit einem Scrollview mit einigen Schaltflächen und einem EditText So sind die Schaltflächen über der EditText-Komponente.

Durch Anklicken einer Schaltfläche ändert die EditText-Komponente ihren EditText.setText("foo"); mit EditText.setText("foo");

Leider wird dieser Aufruf den Fokus auf die EditText-Komponente setzen, so dass der ScrollView zur EditText-Komponente blättert (Cursor blinkt).

Gibt es einen Weg, dies zu vermeiden?

Ich habe versucht, so etwas zu tun

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

Aber das geht nicht, und manchmal setFocusable(true) hat keine Auswirkung, also ist der EditText nicht mehr "klickbar".

  • Android WebView Fokus Problem
  • EditText, klarer Fokus auf Berührung außerhalb
  • EditText in ListView versteckt von der Tastatur, wenn fokussiert
  • EditText in ListView wird nicht konzentriert bleiben
  • Spinner bekommt keinen Fokus
  • Deaktivieren Sie Positionsfokus in ListView
  • Entfernen von Fokusindikator von RecycleView in Android
  • Android, Admob / Adview nimmt | stiehlt Fokus von edittext, Wie zu verhindern?
  • 4 Solutions collect form web for “EditText: Vermeiden Sie den Fokus auf setText ()”

     editText.clearFocus(); 

    Aufgerufen, wenn diese Ansicht den Fokus aufgeben will.

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

    In deiner Taste unter Code verwenden

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

    Verweisen Sie auf den untenstehenden Link

    Android edittext entfernen Fokus nach dem Klicken auf eine Schaltfläche

    In deiner Taste unter Code verwenden ……

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

    Benutze dies in deiner xml :

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

    oder

     edittext.setKeyListener(null); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.