Die Umsetzung onKeyPreIme(int keyCode, KeyEvent event) in Fragment
Kann ich nicht begreifen, wie die Umsetzung onKeyPreIme(int keyCode, KeyEvent event)
im Fragment
.
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK &&
event.getAction() == KeyEvent.ACTION_UP) {
//do your stuff
return false;
}
return super.dispatchKeyEvent(event);
}
Habe viel versucht, aber nichts funktioniert. Auch ich konnte nichts finden auf Google oder Stack Overflow. Ich möchte eine Aktion ausführen, wenn die zurück-Taste gedrückt und das softkeyboard ist. Einstellung einer onKeyListener
auf meine EditText
s hat nicht funktioniert, da KeyEvent.KEYCODE_BACK
wird nicht aufgerufen, wenn der soft-Tastatur. Ich Schätze jede Hilfe und source-code.
Vielen Dank für den code, war es hilfreich, zu verstehen, dass eine Rückkehr
super.dispatchKeyEvent(event);
die Aktivität der zurück-Taste funktioniert!InformationsquelleAutor Max | 2012-11-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich in der Lage zu implementieren onKeyPreIme durch sub-classing meine EditText-views, bezogen auf die Tastatur-Eingabe. Das Ziel ist es, eine benutzerdefinierte Sperre Bildschirm, muss der Benutzer geben Sie einen pass-code oder die Anwendung verlassen. Wenn der Benutzer tippt auf der Tastatur nach unten" - Taste der Tastatur nicht verschwinden.
Stellen Sie sicher, erstellen Sie eine separate .java-Datei für die Unterklassen EditText. Außerdem, sicher sein, um den Konstruktor im code (muss passieren AttrubuteSet).
Merke ich, dass meine Umsetzung der onKeyPreIme kann nicht mit den Ihren übereinstimmen, aber es muss zeigen, wie das abfangen der Tastatur-Ereignisse vor dem InputMethodManager ist es die Sache.
Ich hoffe, das hilft.
Screenshot UserLockActivity
EditText Unterklasse
UserLockActivity.java
activity_user_lock.xml Layout-Datei
Hervorragende @i2097i. Danke Kumpel 🙂
Ich habe eine Frage. Gibt es eine Methode in android Fokus aus
EditText
programmgesteuert?href="http://stackoverflow.com/questions/5056734/android-force-edittext-to-remove-focus" title="android-Kraft edittext zu entfernen Fokus">stackoverflow.com/questions/5056734/...
Ich möchte das in fragment mit dem inflater für diese "LockEditText". aber ich bin immer eine Ausnahme in diesem Fall. Können Sie bitte erklären, wie man diese LockEditText als Unterklasse von Edittext und fügen Sie es mit einem inflater für Fragment
InformationsquelleAutor i2097i
Dies ist meine Lösung und es funktioniert wirklich gut für mich, aber jedermanns Bedürfnisse sind unterschiedlich.
Ersten ich-Unterklassen EditText und hakte ein Zuhörer (Google sollte dies die Standardeinstellung)
Dann können Sie fügen Sie einen listener von überall in etwa so:
Ok, ich denke ich bekomme es. Diese Tastatur-Ereignisse für physische Tastaturen, die nicht auf der soft-Tastatur. Kann das jemand bestätigen? Danke.
By the way, ich bin immer noch ein student, der alle Dinge Android, also vielen Dank für dieses bisschen code. Ich war in der Lage, es zu benutzen, überschreiben Sie die onFilterComplete Methode. Scheint irgendwie dumm, dass Android nicht bieten einen listener für diese Ereignisse.
beste Antwort!!!!!!!
Ich bin nicht zu sehen, meine onKeyIme-Methode aufgerufen. Macht diese Arbeit für Tastaturen?
InformationsquelleAutor Deminetix
War ich nicht in der Lage, herauszufinden, wie die Umsetzung der onKeyPreIME, aber ich war in der Lage, um eine Aktion auszuführen, nachdem die Tastatur verschwand mit dem folgenden code:
Euch Mann ändern müssen Vergleich heightDiff > 200. Dieser Vergleich für mich gearbeitet, denn ich hatte eine scrollview.
InformationsquelleAutor Max
dies ist eine weitere vollständige code der Antwort von Deminetix.
habe ich die Antwort von Deminetix filtern handheld-barcode-reader auf android-und haben das Ergebnis.
nutzbar zu machen auf einem Bildschirm nur mit den Tasten habe ich ein EditText android:textColor="#FF000000" android:background="#00FFFFFF" android:enabled="false"
deaktiviert EditText bekommt noch Tastatur-Ereignisse.
Optional könnte ich ausblenden der software-Tastatur verwenden, die folgenden aber nach dem deaktivieren der EditText es nicht notwendig war.
MainActivity.java:
activity_main.xml:
ListenerEditText.java:
Ich kann nicht finden, die setKeyImeChangeListener Methode.
es ist der - öffentlichen-Klasse ListenerEditText erstreckt EditText. es ist meine Klasse, die ich entwickelt habe, können Sie sehen es oben. ehrlich gesagt, es war eine lange Zeit nicht sicher, wie kann ich Ihnen helfen. Ich kann mich nicht erinnern.
InformationsquelleAutor Shimon Doodkin