Ich brauche Hilfe, um herauszufinden, wie man überprüft, ob ein Gerät mit der Suchhardwaretaste ausgestattet ist oder nicht. Ist das möglich?
BEARBEITEN: Ich spreche darüber, ob das Gerät die Suchhardwareknöpfe hat oder nicht. Einfache Frage. Jedes Android-Gerät hat eine Reihe von Hardware-Tasten; Menü, Home-Taste, Zurück-Taste und Such-Taste. Aber einige Geräte sind nur mit einigen von ihnen ausgestattet, nicht alle.
BEARBEITEN SIE 2: Der Grund, warum ich frage, ist, weil ich eine Software-Taste haben möchte, die in meiner UI zeigt, wenn das Gerät nicht mit einer Hardware-Taste ausgestattet ist. Ich verwende die durchsuchbare Benutzeroberfläche in meiner Aktivität. Ich folge nicht dem EditText / TextField-Ansatz.
Ich glaube nicht, dass Sie erkennen müssen, ob es tatsächlich einen Suchhardwareknopf hat. Der Rahmen wird Ihnen hier helfen (obwohl ich sicher bin, dass dieser Prozess vereinfacht wird, sobald Ice Cream Sandwich veröffentlicht wird)
Derzeit sind die einzigen Geräte, die keine Hardwaresuche haben, Honeycomb-Tablets. Also, indem Sie android:targetSdkVersion="11"
(oder höher) verwenden, fügen Sie implements OnQueryTextListener
zu Ihrem Fragment
oder Activity
hinzu und fügen dann etwas hinzu wie:
Sie werden das Problem im Wesentlichen lösen. Um mit Pre-Honeycomb-Geräten arbeiten zu können, müssen Sie möglicherweise die Kompatibilitätsbibliothek verwenden oder Verwende Reflektion oder andere Wächter in deinem Code.
BEARBEITEN
Das Samsung Galaxy S II verfügt nicht über eine dedizierte Hardware-Suchschaltfläche, aber wenn Sie die Menüschaltfläche für einige Sekunden gedrückt halten, wird es als Hardware-Suchschaltfläche fungieren.
Bessere Art und Weise, wie Sie zwei Möglichkeiten nutzen können
Setzen Sie den Suchknopf und rufen Sie onSearchRequested();
Zweiter Weg klicken Sie auf den editText put android:imeOptions="actionSearch"
, so dass Sie müssen
Nach Schlüssel suchen
Hoffe, das wird dir helfen.