Ich habe ein SearchManager
Setup, bei dem eine Vorschlagsliste angezeigt wird, wenn der Benutzer tippt. Die Ergebnisse stammen von meinem Server (http). Ich möchte ein Symbol mit jeder Option anzeigen (wenn die Datei tatsächlich existiert).
Wenn ich mir die Dokumente anschaue, sehe ich die Optionen für die Konstante Spalte SUGGEST_COLUMN_ICON_1
für diese Optionen:
Alles, was ich habe, ist eine URL. Welche Option würde am besten für mich funktionieren?
Hier ist die class
, wo ich das mache:
Für diejenigen, die immer noch die Antwort auf diese Frage suchen, wie ich. Es ist meinem Code ziemlich ähnlich, also habe ich beschlossen, es zu teilen. Ich verbrachte Stunden damit, alles zusammen zu stellen. Vielleicht werde ich etwas Zeit für jemanden sparen. Zuallererst benötigen Sie die Glide-Bibliothek .
Fügen Sie es der build.gradle-Datei Ihrer App hinzu:
%Vor% Nehmen wir jetzt einige Änderungen am Code der Frage vor (in MyCustomSuggestionProvider
class):
Setzen Sie es in Ihre for (TheProfile suggestion : suggestions) {
Beachten Sie diese Codezeile: %Code% Das ist sehr wichtig, um Anwendungskontext zu erhalten, nicht nur Kontext, da wir bmp nicht in ImageView anzeigen. Offizielle Glide-Dokumentation für diese Art der Verwendung von Glide.
Und schließlich kannst du anrufen:
%Vor%Sammeln Sie alle Dateien, die Sie als Symbole verwenden möchten. Sie sind wahrscheinlich auf Ihrem Server; Sie müssen sie in Ihre App einbetten.
Wenn sie nicht im PNG-Format vorliegen, wandeln Sie sie in das PNG-Format um. Skaliere sie auf die Größe, die du für die Anzeige in deiner App benötigst.
Fügen Sie sie Ihrem Android-Projekt im Ordner / res / drawable-mdpi hinzu. Wenn Sie sie in den mdpi-spezifischen Ordner verschieben, werden sie bei verschiedenen Geräteauflösungen in derselben Größe skaliert.
Der erste Teil des Codes für die Symbole besteht darin, dass URIs für SearchManager
zurückgegeben werden. Verwenden Sie das Schema "android.resource" im folgenden Format:
Sie könnten beispielsweise für jedes Symbol eine final URI
erstellen. Hier ist ein Beispiel für einen URI, den ich in meinem Projekt für /res/drawable-mdpi/ic_autocomplete_1.png
verwendet habe:
Wenn Sie Ihre Vorschläge durchlaufen, ermitteln Sie, welches Symbol erforderlich ist, z. B. mit einer switch
-Anweisung, und fügen Sie diesen URI in Ihr Zeilenobjekt ein, wie Sie es in Ihrem Code haben.
Tags und Links android url search-suggestion uri android-searchmanager