Wenn alle anderen Antworten hier nicht so funktionieren, wie Sie es gerne hätten, gibt es eine weitere Möglichkeit, die Tastatur manuell zu steuern.
Erstellen Sie eine Funktion, mit der Sie einige der EditText
Eigenschaften:
public void setEditTextFocus(boolean isFocused) {
searchEditText.setCursorVisible(isFocused);
searchEditText.setFocusable(isFocused);
searchEditText.setFocusableInTouchMode(isFocused);
if (isFocused) {
searchEditText.requestFocus();
}
}
Stellen Sie dann sicher, dass onFocus der Datei EditText
Sie öffnen/schließen die Tastatur:
searchEditText.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (v == searchEditText) {
if (hasFocus) {
// Open keyboard
((InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(searchEditText, InputMethodManager.SHOW_FORCED);
} else {
// Close keyboard
((InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(searchEditText.getWindowToken(), 0);
}
}
}
});
Wenn Sie nun die Tastatur manuell öffnen möchten, rufen Sie an:
setEditTextFocus(true);
Und für den Schlussappell:
setEditTextFocus(false);
19 Stimmen
Was ist, wenn Sie nur einen EditText und mehrere Schaltflächen, wie Kontrollkästchen und Radios, haben? Der einzige Ort, an dem Sie die Tastatur benötigen, ist der einzelne EditText. Wie registrieren Sie, dass etwas anderes gewählt/angeklickt wurde, um die Tastatur auszublenden?
19 Stimmen
Ich komme mir dumm vor. Ich bin nicht in der Lage, die Tastatur auf ICS zu verstecken. Habe alle Methoden hier und Kombinationen von ihnen versucht. Keine Chance. Die Methode, um es zu zeigen, funktioniert, aber ich kann es nicht verstecken, egal, was windw Token, verstecken Flaggen, manifestieren Einstellungen oder Kerzen zu jedem Heiligen. Auf der Tastatur zeigen, sehe ich immer diese: I/LatinIME( 396): InputType.TYPE_NULL ist angegeben W/LatinIME( 396): Unerwartete Eingabeklasse: inputType=0x00000000 imeOptions=0x00000000
5 Stimmen
/** * Diese Methode wird verwendet, um die Soft-Tastatur auszublenden. * @param activity */ public void hideSoftKeyboard(Activity activity) { InputMethodManager inputMethodManager = (InputMethodManager)activity.getSystemService(Activity.INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0); }
0 Stimmen
este hat bei mir funktioniert
0 Stimmen
Da die Geräte immer größere Bildschirme und höhere Auflösungen haben, wird das Ausblenden der virtuellen Tastatur immer unwichtiger.
0 Stimmen
Müssen mit InputMethodManager mit dem INPUT_METHOD_SERVICE zu spielen, um Soft-Tastatur wie behandeln readyandroid.wordpress.com/show-hide-Android-soft-keyboard
0 Stimmen
Ist das Ihr Ernst? Kann man die Tastatur nicht einfach ausblenden, wenn man das möchte? Es spielt keine Rolle, ob Sie viele Tasten oder Text oder einen großen Bildschirm haben, um Android zu bitten, die Tastatur auszublenden, muss eine einzige Anweisung sein :S