Gibt es eine einfache Möglichkeit, ein 2 TextView-Dropdown auf eine AutoCompleteTextView zu setzen.
Es gibt android.R.layout.two_line_list_item
, für das ich keine Beispiele finden konnte.
Also habe ich Folgendes versucht:
%Vor%Aber ich habe hier ein Problem:
%Vor%Beim Einstellen des Adapters heißt es:
Gebundene Diskrepanz: Die generische Methode setAdapter (T) vom Typ AutoCompleteTextView gilt nicht für die Argumente (TwoLineDropdownAdapter). Der abgeleitete Typ TwoLineDropdownAdapter ist kein gültiger Ersatz für den beschränkten Parameter
Wie löst man das?
Danke
Laut der Dokumentation ist der abgeleitete Typ von setAdapter in AutoCompleteTextView:
%Vor%Ihr Adapter muss ein ListAdapter sein (welcher BaseAdapter ist, soweit so gut) und ein Filterable, welcher BaseAdapter nicht ist, ebenso wenig wie Ihre Adapterimplementierung. Ich würde einen ArrayAdapter erweitern, der filterbar ist, ganz zu schweigen von der Vereinfachung Ihrer Implementierung (einige Ihrer Methoden duplizieren Methoden von ArrayAdapter für das gleiche Ergebnis):
%Vor%Hier Code funktioniert für mich,
Setzen Sie diesen Adapter auf autocompletetextview
%Vor%ProductSearchAdapter-Klasse
%Vor% Ich glaube, dass es am einfachsten ist, SimpleAdapter
zu erweitern.
Der Hauptnachteil ist, dass dies Kandidaten auf Basis eines durch Leerzeichen getrennten Wortes entweder in Name oder in Beschreibung bringt. Wenn du deinem auto_complete_layout
ein weiteres Feld hinzufügst, wird es auch in den Abgleich einbezogen.
Daher habe ich den SimpleAdapter neu geschrieben, um meinen Anforderungen besser gerecht zu werden. Dadurch wurde ein wesentlicher Teil des Basisklassenaufwands entfernt, der für meinen Anwendungsfall nicht relevant war. Aber die paar Zeilen oben geben Ihnen einen guten Start und bieten eine solide Referenz für die Anpassung von.
Tags und Links android