ich die Methode auf diese Weise genannt:Tastatur wird nicht angezeigt, nachdem InputMethodManager.showSoftInput Aufruf
getInputMethodManager().showSoftInput(view, 0, resultReceiver);
Allerdings ist die Tastatur nicht auf meinem Bildschirm zeigen und resultReceiver keine Nachricht in onReceiveResult(int resultCode, Bundle resultData)
erhalten. Die Ansicht ist nicht null und hasFocus() == true
.
Kennt jemand dieses Problem? Vielen Dank.
Dank Karthik und Imen. Ich muss die Ursache wissen, warum diese Methode nicht funktioniert, aber keine Abhilfe.
aktualisiert am 2017.10.23:
I debuged in Code android sdk Quelle und gefunden: eine Variable mit dem Namen mServedView
ist null, und das Verfahren wird ein false
zurück. Das [offizielle Dokument] (https://developer.android.com/reference/android/view/inputmethod/InputMethodManager.html#showSoftInput(android.view.View, int, android.os.ResultReceiver)) sagt jedoch nicht, warum oder wann diese Methode eine false
zurückgibt.
Karthik, vielen Dank für Ihre Antwort aber es behebt mein Problem nicht. In meinem Fall möchte ich nicht "toggleSoftInput" anstelle von "showSoftInput" verwenden, und ich kann den "InputMethodManager.SHOW_FORCED" nicht verwenden, da es sich um eine util-Methode handelt. Flag muss in diese Methode übergeben werden. – freshomer