Ich habe ein PopupWindow in einer Aktivität. Wenn der Benutzer auf das Listenelement in der Aktivität drückt, wird ein Popup-Fenster geöffnet, in dem Benutzer Informationen erhalten.Android zeigen Eingabe-Tastatur nur, wenn Benutzer eine Taste drücken
Es gibt einige EditText im Fenster. Und ich habe auch einige Tasten zur Verfügung gestellt, die einen Text voreinstellen. Wenn der Benutzer darauf drückt, wird es in den Editiertext eintreten.
Ich kann die Softkeyboard deaktivieren, wenn das erste Popup-Fenster erscheint. Aber wenn ich den Fokus auf Edittext ändere (Von einem Editiertext zu einem anderen Editiertext bewegen), wird die Tastatur angezeigt.
Ich möchte die Softkeyboard zeigen nur, wenn Benutzer auf die Schaltfläche "Tastatur anzeigen" im Popup-Fenster Wie kann ich es tun?
Aktualisiert:
public void onFocusChange(View view, boolean hasFocus) {
if (hasFocus) {
selectedEditText = (EditText)view;
String text = selectedEditText.getText().toString();
selectedEditText.setSelection(text.length());
InputMethodManager inputManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(selectedEditText.getWindowToken(), 0);
}
}
ich den Code oben versucht, aber es zeigt immer noch.
ich meinen Code aktualisiert, aber es immer noch die Tastatur Fokus zeigt geändert, macht der Code etwas falsch? – Hanon
@Hanon .. Code sieht in Ordnung .. versuchen Sie das Debuggen und sehen, ob es auch aufgerufen wird .. – ngesh
Ich protokollierte das Ergebnis in der if Körper, der Körperteil ausgeführt hat. Ich habe hinzugefügt, um am Ende inputManager.isActive() zu testen, aber es gibt immer wahr zurück – Hanon