Im Folgenden habe ich die Listen deklariert: < /p>
Code: Select all
List investorList;
List investorListFull;
Code: Select all
public InvestorsAdapter(Context context, List investorList) {
this.context = context;
this.investorList = investorList;
investorListFull = new ArrayList(investorList);
}
< /code>
unten filtere ich die Ergebnisse in der Liste der Anleger: < /p>
public Filter getInvestorFilter() {
return investorFilter;
}
private final Filter investorFilter = new Filter() {
@Override
protected FilterResults performFiltering(CharSequence constraint) {
List filteredList = new ArrayList();
if (constraint == null || constraint.length() == 0) {
filteredList.addAll(investorListFull);
} else {
String filterPattern = constraint.toString().toLowerCase().trim();
for (Investor investor : investorListFull) {
if (investor.getUsername().toLowerCase().contains(filterPattern)) {
filteredList.add(investor);
}
if (investor.getDateJoined().toLowerCase().contains(filterPattern)) {
filteredList.add(investor);
}
}
}
FilterResults filterResults = new FilterResults();
filterResults.values = filteredList;
return filterResults;
}
@Override
protected void publishResults(CharSequence constraint, FilterResults filterResults) {
investorList.clear();
investorList.addAll((List) filterResults.values);
notifyDataSetChanged();
}
}