下面列出了android.widget.Filter#filter ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
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();
});
}
private void performFiltering(boolean completeIfSingle) {
if (!updateCompletingCommandFlags())
mAdapter.setEnabledSuggestions(true, mDoChannelSuggestions, false);
final String text = getCurrentToken();
Filter filter = isCommandNameToken() ? mCommandAdapter.getFilter() : mAdapter.getFilter();
filter.filter(text, (int i) -> {
if (i == 0) {
dismissDropDown();
return;
}
if (!getCurrentToken().equals(text) && !enoughToFilter())
return;
if (completeIfSingle && i == 1) {
if (filter == mCommandAdapter.getFilter())
onItemClick(mCommandAdapter.getItem(0));
else
onItemClick(mAdapter.getItem(0));
return;
}
if (i > 0) {
setCurrentCommandAdapter(filter == mCommandAdapter.getFilter());
showDropDown();
}
});
}
@Override
protected void performFiltering(CharSequence text, int start, int end,
int keyCode) {
if (start < prefix.length()) {
start = prefix.length();
}
Filter filter = getFilter();
if (filter != null) {
filter.filter(text.subSequence(start, end), this);
}
}
@Override
protected void performFiltering(CharSequence text, int keyCode) {
Filter filter = getFilter();
if (filter != null) {
filter.filter(currentCompletionText(), this);
}
}
private void search(String filterText) {
Filter filter = mLogListAdapter.getFilter();
filter.filter(filterText, this);
mSearchingString = filterText;
}
private void search(String filterText) {
Filter filter = mLogListAdapter.getFilter();
filter.filter(filterText, this);
mSearchingString = filterText;
}
private void search(String filterText) {
Filter filter = mLogListAdapter.getFilter();
filter.filter(filterText, this);
mSearchingString = filterText;
}
private void onFilter(String query) {
Filter filter = filterTarget.getFilter();
if (filter != null) {
filter.filter(query);
}
}