2010-01-01 11 views
8

Ich habe eine ListView und es ist möglich, die Hardware-Tastatur zu verwenden, um Elemente herauszufiltern. Was soll ich jedoch für Telefone tun, die keine Hardware-Tastatur und nur eine virtuelle haben? Gibt es eine Möglichkeit, eine Schaltfläche hinzuzufügen, die beim Drücken der virtuellen Tastatur angezeigt wird?Schaltfläche zum Anzeigen der virtuellen Tastatur?

Antwort

28

Ich konnte die Bildschirmtastatur mit dem folgenden Code umschalten. Ich hoffe, dass das für jemanden nützlich ist.

InputMethodManager inputMgr = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
inputMgr.toggleSoftInput(0, 0); 
+0

Danke somuch Mark es hat gut funktioniert ..... – praveenb

+0

Gut gemacht ist es perfekt in Ordnung – Sandy

+0

Ich bekomme nur die Tastatur, und sonst nichts, kein Text Schreibfeld. ??? – marjanbaz

3

Ein Vorschlag könnte sein, einfach ein Texteingabefeld (EditText) zu verwenden. Auf diese Weise kann ein Benutzer theoretisch mehr als ein Zeichen eingeben, um die Suche einzuschränken (und zu sehen, was sie eingegeben haben). Um die Bildschirmtastatur anzuzeigen, müssen sie lediglich in das Textfeld tippen. Wenn diese Box "Suchen" oder etwas ähnliches genannt wird, glaube ich, dass es für einen Benutzer intuitiver wäre als eine Schaltfläche.

+0

Dank dieser wies mich in die richtige Richtung – Tyler

2

Es gibt eine Konvention (für die vielleicht jemand anderes einen Verweis — zur Verfügung stellen kann ich konnte nichts schnell finden), dass das Halte Menü Hardware-Taste die Soft-Tastatur bringt.

Obwohl dies scheinbar gerätabhängig ist. Ich weiß, dass es auf dem G1 funktioniert, aber auf meinem HTC Hero funktioniert es nicht auf dem Home-Bildschirm (obwohl HTC scheint ein paar Abkürzungen, wie die Home Knopf durcheinander).

Wie auch immer, ich weiß, dass andere Anwendungen wie ConnectBot erwähnen und verwenden diese Konvention für die Erstellung der virtuellen Tastatur.

+2

Lange drücken auf Menü war nur als letztes Mittel Kompatibilität Sache für Anwendungen, die zu der Zeit nicht über Soft-Tastaturen bekannt war. Heute geschriebene Anwendungen sollten sich nicht darauf verlassen. Da es sich um einen Kompatibilitätsmodus handelt, versetzt es die Tastatur in einen anderen Zustand als das von Ihnen erwartete Problem. Beispielsweise muss der Benutzer sie explizit ablehnen, anstatt den normalen Regeln für die automatische Entfernung beim Navigieren durch die Benutzeroberfläche zu folgen. – hackbod

+0

Danke für die Klarstellung (von einem Android nicht weniger!;)). Was wäre die empfohlene UI-Lösung für die ursprüngliche Frage? Ein explizites Such-/Filter-Textfeld als bdls erwähnt? –

+0

Hinzufügen einer EditText-Box scheint zu funktionieren. Ich habe eine Frage gefunden unter http://stackoverflow.com/questions/1737009/answer-to-making-a-nice-looking-listview-filter-on-android (die erste Antwort), die ein nettes Tutorial gibt, dem ich folge . – Tyler

0

Halten Sie die Menü-Taste scheint nicht mehr in Android 4.0 (IceCreamSandwich) zu arbeiten. Das bricht filterbare Listen in vielen Anwendungen, in denen der Benutzer jetzt keine Möglichkeit mehr hat, die Liste zu filtern und durch lange, lange Listen zu gucken.

Verwandte Themen