Automatische Textansicht + JSON Server, um Tags dynamisch abzurufen
-
25-10-2019 - |
Frage
setoneditorAtationListener
Danke im Voraus
Lösung
Sie können die Filterschnittstelle auch verwenden, um dies zu implementieren. Es stellt sich heraus, dass Filter.PerFormFiltering () nur für diese Art von Zweck aus dem UI -Thread genannt wird. Hier ist ein Code, den ich dazu benutze:
Filter filter = new Filter() {
@Override
public CharSequence convertResultToString(Object resultValue) {
return resultValue.toString();
}
@Override
protected FilterResults performFiltering(CharSequence charSequence) {
if( charSequence == null ) return null;
try {
// This call hits the server with the name I'm looking for and parses the JSON returned for the first 25 results
PagedResult results = searchByName( charSequence.toString(), 1, 25, true);
FilterResults filterResults = new FilterResults();
filterResults.values = results.getResults();
filterResults.count = results.getResults().size();
return filterResults;
} catch (JSONException e) {
return new FilterResults();
}
}
@Override
protected void publishResults(CharSequence charSequence, FilterResults filterResults) {
if( filterResults != null ) {
adapter.clear();
adapter.addAll( (List<MyObject>)filterResults.values );
}
}
};
Dann mit dem Filter:
private AutoCompleteTextView beverageName;
...
beverageName = findViewById( R.id.beverageName );
ListAdapter adapter = ...
adapter.setFilter(filter);
beverageName.setAdapter(adapter);
Andere Tipps
Du kannst den ... benutzen Textwatcher onTextChanged()
. Ich hoffe, das hilft!
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow