android.widget.Filter#FilterResults ( )源码实例Demo

下面列出了android.widget.Filter#FilterResults ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: PlayWidget   文件: MusicFilter.java
@NonNull
@Override
protected Filter.FilterResults performFilteringImpl(CharSequence constraint) {
    Filter.FilterResults results = new Filter.FilterResults();
    if (TextUtils.isEmpty(constraint) || TextUtils.isEmpty(constraint.toString().trim())) {
        results.count = -1;
        return results;
    }
    String str = constraint.toString().trim();
    List<MusicItem> result = new ArrayList<>();
    int size = getNonFilteredCount();
    for (int i = 0; i < size; i++) {
        MusicItem item = getNonFilteredItem(i);
        if (
                check(str, item.title())
                        || check(str, item.album())
                        || check(str, item.artist())
                ) {
            result.add(item);
        }
    }
    results.count = result.size();
    results.values = result;
    return results;
}
 
源代码2 项目: Travel-Mate   文件: TimezoneAdapter.java
@Override
protected Filter.FilterResults performFiltering(CharSequence constraint) {
    List<String> matchingTimezones = new ArrayList<>();
    if (TextUtils.isEmpty(constraint)) {
        matchingTimezones.addAll(TimezoneAdapter.this.mTimezones);
    } else {
        String pattern = constraint.toString().toLowerCase().trim();
        for (String timezone : TimezoneAdapter.this.mTimezones) {
            if (timezone.toLowerCase().contains(pattern)) {
                matchingTimezones.add(timezone);
            }
        }
    }

    Filter.FilterResults filterResults = new Filter.FilterResults();
    filterResults.values = matchingTimezones;
    filterResults.count = matchingTimezones.size();

    return filterResults;
}
 
源代码3 项目: emerald-dialer   文件: ContactsEntryAdapter.java
@Override
protected Filter.FilterResults performFiltering(CharSequence constraint) {
	Filter.FilterResults results = new FilterResults();
	ArrayList<RegexQueryResult> resultsList = new ArrayList<RegexQueryResult>();
	if (rawFiltering) {
		filterRaw(resultsList, constraint);
	} else {	
		filterWithRegex(resultsList, constraint);
	}
	
	Collections.sort(resultsList);
	results.values = resultsList;
	results.count = resultsList.size();
	return results;
}
 
源代码4 项目: AppCodeArchitecture   文件: CursorFilter.java
@Override
protected void publishResults(CharSequence constraint, Filter.FilterResults results) {
    Cursor oldCursor = mClient.getCursor();

    if (results.values != null && results.values != oldCursor) {
        mClient.changeCursor((Cursor) results.values);
    }
}
 
源代码5 项目: emerald-dialer   文件: ContactsEntryAdapter.java
protected void publishResults(CharSequence constraint, Filter.FilterResults results) {
	regexQueryResults = ((ArrayList<RegexQueryResult>) results.values);
	notifyDataSetChanged();
}
 
 方法所在类