Android Searchview只搜索整个单词,而不搜索内容

Android Searchview只搜索整个单词,而不搜索内容,android,arraylist,textwatcher,android-search,Android,Arraylist,Textwatcher,Android Search,我有一个搜索字段,在我的Arrayadapter中搜索 inputSearch.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) { ZT.this.adapter.getFilter().filter(cs);

我有一个搜索字段,在我的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


感谢您的帮助。

您可以使用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);
    }
});