Frage

Ich versuche, eine EditText-Ansicht zu überzeugen, nur die Softkeyboard zu verwenden, die ich geschrieben habe. Es nervt mich für ein paar Tage schon und ich kann nicht glauben, dass dies nicht möglich ist. Ich könnte nicht die offensichtlichen ...

siehe

Bisher konnte ich meine eigene Softkeyboard schreiben, basierend auf der Probe, das mit dem Android SDK kommt. Ich bin in der Lage, manuell es als Eingabemethode zu wählen (lange klicken, Eingabemethode, * Pick *). Das Softkeyboard dann funktioniert gut und tut alles, was ich will. Ich habe auch das Kontextmenü gereinigt bis verbieten die Eingabemethode zu ändern (natürlich ich zur Zeit es benötigen im Menü sein sonst wäre ich nicht in der Lage sein, meinen Softkeyboard zur Auswahl).

Mit anderen Worten: das einzige, was links ist die Softkeyboard zum EditText zu binden.

bemerkte ich den Haufen ime*-Attribut auf dem EditText, aber sie scheinen nicht für mein Problem nützlich zu sein, wie ich will nicht zu ändern, etwas über die Aktionstaste. inputMethod erfordert eine KeyListener, die das Softkeyboard ist nicht (ich versuchte, es zu machen, aber es scheint ein Problem mit den Klasse-Lader zu sein, wie es wäre nicht meine Klasse finden => ClassNotFoundException).

Kann jemand bitte mir einige nützliche Informationen zeigen?

War es hilfreich?

Lösung

Ich bin neu zu erfinden mein derzeitiger Ansatz und versuchen, ohne die InputMethodService an die Arbeit. Ich halte den Beispielcode als Referenz die Benutzereingabe für die Handhabung. Grundsätzlich sollte es nur eine einfache Ansicht sein, das erscheint, wenn nötig.

Nach weiterer Forschung fand ich eine wirklich hilfreich Fragen zur App-spezifischen Soft-Tastatur . Wenn Sie in meiner Situation laufen, schauen Sie es.

Andere Tipps

Ich kann nicht glauben, dass dies nicht möglich ist, zu tun,

Was ich vermute, dass Sie schrieb ein Input Method Editor war, basierend auf dem „manuell wählen“ Note. Dies ist ein globales Konstrukt, verfügbar für den Benutzer, wenn gewünscht zu installieren und zu verwenden zu wählen. Und Ihre Input Method Editor verwendet werden könnte, im Ermessen des Benutzers, in einem beliebigen Anwendung in dem Gerät ein.

Sie, in Ihrem Anwendungscode kann nicht einen bestimmten Input Method Editor Mandat, ob Sie es geschrieben hat oder nicht.

Was Sie tun können, vielleicht ist, ordnen die gleiche Benutzeroberfläche von Ihrem Input Method Editor als eine Art Pop-up zu verwenden, in Ihrer Tätigkeit. Zum Beispiel KeyboardView, so Frau Hackborn, ist ein Standard-View und kann wie jedes andere verwendet werden. Der Benutzer könnte eine Schaltfläche neben Ihrer EditText tippen Tastatur UI angezeigt werden (beispielsweise animierte Folie nach oben vom unteren Rand des Bildschirms), oder so ähnlich.

ich auch über das Kontextmenü gereinigt bis verbieten die Eingabemethode zu ändern

Bitte erlauben dem Benutzer die Eingabemethode zu wählen, oder nicht ein EditText verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top