下面列出了android.widget.Filterable#android.widget.Filter 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Applies the given filter pattern to the filter. If the filter yields no results,
* then we hide this filterable recycler, or show it otherwise.
*
* @param filter Filter pattern
*/
void filterChips(CharSequence filter) {
if (filter != null) {
mFilter.filter(filter, new Filter.FilterListener() {
@Override
public void onFilterComplete(int count) {
// Show if, and only if, there are results
if (count > 0) {
fadeIn();
} else {
fadeOut();
}
}
});
}
}
private void performFiltering(boolean completeIfSingle) {
final CharSequence text = getCurrentLineToken();
if (text == null)
return;
Filter filter = mCommandAdapter.getFilter();
filter.filter(text, (int i) -> {
if (i == 0) {
dismissDropDown();
return;
}
if (!text.equals(getCurrentLineToken()) && !enoughToFilter())
return;
if (completeIfSingle && i == 1) {
onItemClick(mCommandAdapter.getItem(0));
return;
}
if (i > 0)
showDropDown();
});
}
@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;
}
@Override
public @NonNull
Filter getFilter() {
if (mFilter == null) {
mFilter = new ArrayFilter();
}
return mFilter;
}
/**
* {@inheritDoc}
*/
public Filter getFilter() {
if (mFilter == null) {
mFilter = new ArrayFilter();
}
return mFilter;
}
/**
* {@inheritDoc}
*/
@Override
public Filter getFilter() {
if (mFilter == null) {
mFilter = new ArrayFilter();
}
return mFilter;
}
@Override
public Filter getFilter() {
if (filter == null) {
filter = new UserFilter();
}
return filter;
}
public SimpleAdapterAssert hasFilter(Filter filter) {
isNotNull();
Filter actualFilter = actual.getFilter();
assertThat(actualFilter) //
.overridingErrorMessage("Expected filter <%s> but was <%s>.", filter, actualFilter) //
.isSameAs(filter);
return this;
}
@Override
public Filter getFilter() {
if (mIsFilterable) {
return ((Filterable) mAdapter).getFilter();
}
return null;
}
@NonNull
@Override
public Filter getFilter() {
if (filter == null) {
filter = new SocialFilter();
}
return filter;
}
@Override
public Filter getFilter() {
if (myFilter == null) {
myFilter = new MyFilter(userList);
}
return myFilter;
}
@Override
public Filter getFilter() {
if (mFilter == null) {
mFilter = new SearchFilter();
}
return mFilter;
}
@Override
public Filter getFilter() {
AllTasksListAdapter adapter = (AllTasksListAdapter) this.list.getExpandableListAdapter();
if (adapter != null) {
return adapter.getFilter();
} else {
return null;
}
}
@Override
public Filter getFilter(){
if(filter == null){
filter = new ClassNameFilter();
}
return filter;
}
@Override
public Filter getFilter() {
if (mFilter == null) {
mFilter = new ChipFilter();
}
return mFilter;
}
@Override
public Filter getFilter() {
if(myFilter==null){
myFilter = new MyFilter(userList);
}
return myFilter;
}
@Override
public Filter getFilter() {
if (filter == null) {
filter = new UserFilter();
}
return filter;
}
public void filterList(CharSequence text) {
mAdapter.getFilter().filter(text, new Filter.FilterListener() {
@Override
public void onFilterComplete(int count) {
// show if there are results
if(mAdapter.getItemCount() > 0)
fadeIn();
else
fadeOut();
}
});
}
@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);
}
}
@Nullable
@Override
public Filter getFilter() {
if (mFilter == null) {
mFilter = new TitlesFilter();
}
return mFilter;
}
@Override
public Filter getFilter() {
if (mIsFilterable) {
return ((Filterable) mAdapter).getFilter();
}
return null;
}
/**
* {@inheritDoc}
*/
@Override
public Filter getFilter() {
if (mFilter == null) {
mFilter = new ArrayFilter();
}
return mFilter;
}
/**
* {@inheritDoc}
*/
public Filter getFilter() {
if (mFilter == null) {
mFilter = new ArrayFilter();
}
return mFilter;
}
@Override
public Filter getFilter() {
if (conversationFilter == null) {
conversationFilter = new ConversationFilter(conversationList);
}
return conversationFilter;
}
/**
* {@inheritDoc}
*/
public Filter getFilter() {
if (mFilter == null) {
mFilter = new ArrayFilter();
}
return mFilter;
}
public HeaderViewListAdapterAssert hasFilter(Filter filter) {
isNotNull();
Filter actualFilter = actual.getFilter();
assertThat(actualFilter) //
.overridingErrorMessage("Expected filter <%s> but was <%s>.", filter, actualFilter) //
.isSameAs(filter);
return this;
}
@Override
public Filter getFilter() {
if (valueFilter == null) {
valueFilter = new ValueFilter();
}
return valueFilter;
}
@Override
public Filter getFilter() {
if (mIsFilterable) {
return ((Filterable) mAdapter).getFilter();
}
return null;
}
/**
* Returns the Filter obtained from {@link Filterable#getFilter},
* or <code>null</code> if {@link #setAdapter} was not called with
* a Filterable.
*/
protected Filter getFilter() {
switch (mAutoCompleteMode){
case AUTOCOMPLETE_MODE_SINGLE:
return ((InternalAutoCompleteTextView)mInputView).superGetFilter();
case AUTOCOMPLETE_MODE_MULTI:
return ((InternalMultiAutoCompleteTextView)mInputView).superGetFilter();
default:
return null;
}
}
@Override
public Filter getFilter() {
if (postFilter == null) {
postFilter = new PostFilter(postList);
}
return postFilter;
}