Ich versuche eine Suche so zu machen, dass alle "sichtbaren" Suchbriefe hervorgehoben werden sollen. Ich habe versucht, spannbar zu verwenden, aber das hat den Trick nicht gemacht, vielleicht habe ich es nicht richtig gemacht? basierend darauf: Markieren Sie gesuchten Text in ListView-Elementen Wie kann ich den sichtbaren Text markieren? Hier ist mein Filter:
%Vor%Hier ist mein Überblick
%Vor%Nehmen wir an, Sie haben einen benutzerdefinierten Adapter erstellt, dann können Sie auf den folgenden Code verweisen:
%Vor% Der mSearchText
wird im folgenden performFiltering
von ArrayFilter
Klasse aktualisiert.
Weitere Details finden Sie in hier meinen Beispielcode oder mein GitHub (mit dem neuesten Update) .
Hier ist der Screenshot
Speichern Sie in Ihrer Methode filter die Zeichenfolge, die zum Ausführen des Filters verwendet wird:
%Vor%Sie müssen eine Member-Zeichenfolge deklarieren, um sie zu speichern:
%Vor%Und in getView markieren Sie den Suchbegriff:
%Vor%Ich hoffe, es hilft.
Dies ist nur Demo für Highlight Text, Sie können sich selbst durch Aufruf implementieren
highlight(searchText, originalText)
im Filter,
Fügen Sie diesen Code ein, bevor Sie Text in getview setzen
%Vor%Hallo, in Ihrer Adapterklasse, machen Sie einen Sprengel-Text und stellen Sie ihn auf Ihre Textansicht, den folgenden Code, den Sie als Referenz verwenden können.
%Vor%Tags und Links android android-layout android-fragments android-search android-textview