hat Folgendes überprüft: Wie funktioniert das Klicken auf den Suchknopf des Telefons, um nichts zu tun?
Aber es funktioniert nicht für mich. Hat jemand andere Vorschläge? Vielen Dank. Dem Vorschlag von Phil folgend, den Code entsprechend seiner Antwort zu aktualisieren. Zeigt den Fehler Ссылка
Also habe ich ein Beispielprojekt gemacht. Ich habe das auf zwei verschiedenen Handys getestet, Android Version 2.3.5 und 4.1, ich habe es auch auf Emulator Version 2.2 getestet. Nachdem ich auf den Button show dialog geklickt habe, zeigt es den Fortschrittsdialog an und sollte es auch weiterhin tun. Durch Klicken auf die Schaltfläche Suchen auf den Telefonen und im Emulator wird der Fortschrittsdialog jedoch ausgeblendet. Hier ist die Klasse, und Manifest folgt.
Das aktuelle Verhalten ist, dass beim Klicken auf die Schaltfläche "Suchen" der Fortschrittsdialog verschwindet. Das erwartete oder erforderliche Verhalten besteht darin, die Suchschaltfläche zu deaktivieren, oder ähnlich, wenn das Dialogfeld angezeigt wird und die Suchschaltfläche angeklickt wird. Durch diesen Klick wird der Dialog nicht ausgeblendet.
%Vor%Meine durchsuchbare XML-Datei befindet sich unter: res / xml / searchable.xml gemäß der angegebenen Referenz. So sieht meine suchbare.xml aus:
%Vor%BEARBEITEN
Ich bin froh, dass mein Code unten hilfreich war. Mit Ihrer aktualisierten Frage (zusammen mit dem Video) glaube ich jetzt, dass dies die Antwort ist, die Sie brauchen: Verhindern, dass ProgressDialog beim Klicken auf die Suchtaste (Android) beendet wird
- VORBEARBEITEN -
Anstatt onSearchRequested()
von onCreate()
aufzurufen, müssen Sie Folgendes aufrufen:
Um zu verhindern, dass die Suchschaltfläche die Methode onSearchRequested()
verwendet, überschreiben Sie sie und geben false zurück:
Diese Lösung wird direkt in der onSearchRequested-Dokumentation diskutiert:
Sie können diese Funktion zum einfachen Starten der Suchoberfläche in verwenden Antwort auf einen Menüeintrag, eine Suchtaste oder andere Widgets in Ihrem Aktivität. Wenn nicht übergangen wird, ist der Aufruf dieser Funktion identisch mit Aufruf von startSearch (null, false, null, false), wodurch die Suche gestartet wird für die aktuelle Aktivität wie in ihrem Manifest angegeben, siehe SearchManager.
Sie können diese Funktion überschreiben, um eine globale Suche zu erzwingen, z. im Antwort auf einen dedizierten Suchschlüssel, oder die Suche ganz zu blockieren (durch einfach wieder falsch).
Ihr AndroidManifest.xml
ist ebenfalls unvollständig. Sie müssen zeigen, dass Ihre Activity
durchsuchbar ist. Ändern Sie Ihre MainActivity -Deklaration wie folgt:
Beachten Sie, dass @ xml / durchsuchbar eine XML-Referenz in Ihrer apk ist, die die Suche definiert. Diese Ressource wird im Detail hier besprochen.