我有一个在我的Arrayadapter中搜索的搜索域
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
ZT.this.adapter.getFilter().filter(cs);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
}
@Override
public void afterTextChanged(Editable arg0) {
}
});
它只搜索整个单词。例如:
Baloon
搜索Bal
返回Baloon
,搜索oon
不返回任何内容。我希望在这种情况下他会返回Baloon
。
感谢您的帮助。
答案 0 :(得分:0)
您可以使用FilterQueryProvider并将其传递给adapter.setFilterQueryProvider()。
adapter.setFilterQueryProvider(new FilterQueryProvider() {
public Cursor runQuery(CharSequence constraint) {
String s = '%' + constraint.toString() + '%';
return getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
new String[] {Phone._ID, Phone.DISPLAY_NAME, Phone.NUMBER},
Phone.DISPLAY_NAME + ' LIKE ? OR ' + Phone.NUMBER + ' LIKE ?',
new String[] { s, s },
null);
}
});
使用适配器。