431 Stimmen

Android: EditText zum Entfernen des Fokus zwingen?

Ich möchte in der Lage sein, den Fokus vom EditText zu entfernen. Wenn zum Beispiel die Tastatur erscheint und der Benutzer sie mit der Zurück-Taste ausblendet, möchte ich, dass der Fokus und der Cursor verschwinden. Wie lässt sich das bewerkstelligen?

0 Stimmen

Gibt es eine andere Ansicht, die nach EditText fokussiert werden kann?

0 Stimmen

Ist es möglich, eine WebView zu fokussieren?

0 Stimmen

Siehe meine Antwort hier: stackoverflow.com/questions/3890033/

78voto

sondt87 Punkte 1204

Autofokus entfernen edittext Android

Es funktioniert bei mir

bearbeiten In dem Link wird vorgeschlagen, LinearLayout zu verwenden, aber einfache Ansicht wird funktionieren

<View
    android:id="@+id/focus_thief"
    android:layout_width="1dp"
    android:layout_height="1dp"
    android:focusable="true"
    android:focusableInTouchMode="true" />

Wenn dieser "Dieb" dann am Anfang des Layouts platziert wird (um das erste fokussierbare Element zu sein), werden Aufrufe an clearFocus() wird funktionieren.

33voto

Pratibha Sarode Punkte 1741

Um die Tastatur auszublenden, wenn die Aktivität beginnt, schreiben Sie den folgenden Code in onCreate()..

InputMethodManager imm = (InputMethodManager)
getSystemService(Activity.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0);

So deaktivieren Sie den Fokus und entfernen den Cursor von edittext.....

editText.clearFocus();

editText.setCursorVisible(false);

33voto

Jarod DY Law Punkte 5577

Sie können auch Folgendes einschließen Android:windowSoftInputMode="stateAlwaysHidden" in Ihrem Aktionsabschnitt des Manifests.

Dies ist gleichbedeutend mit:

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

sondern in XML-Form.

Zu Ihrer Information: Sie können die Tastatur auch mit Codes ausblenden:

// hide virtual keyboard
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mYourEditText.getWindowToken(), 0);

29voto

ediBersh Punkte 1095

Versuchen Sie, diese für Ihre Ansicht zu verwenden Es hat bei mir funktioniert:

<View
    android:id="@+id/fucused"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:focusable="true"
    android:focusableInTouchMode="true"/>

24voto

Context Punkte 1855

Fügen Sie zu Ihrem übergeordneten Layout hinzu, wo Sie Ihre EditText ce android:focusableInTouchMode="true"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X