Android:用于在列表视图中搜索的Edittext高级过滤器

时间:2013-08-06 10:36:10

标签: android android-layout

我现在有一个EditText和一个ListView我正在使用方法contains(someString)借助编辑文本中的文字过滤列表视图。但实际上我想在类似编辑文本的文本中搜索ABC Product。现在,我希望搜索显示其中包含ABCProduct的所有行。比方说,上面提到的搜索列表会显示ABC ItemXYZ Product。是否有任何默认方法或我必须使用自定义功能。

2 个答案:

答案 0 :(得分:1)

不完全默认,但你必须执行两次contains()。 我的意思是,如果你split()搜索字符串(来自空格上的EditText符号),你可以拥有这两个单词,然后为每个单词执行contains()

答案 1 :(得分:0)

inputSearchText.addTextChangedListener(new TextWatcher(){

        @Override
        public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
             // When user changed the Text
             YourActivity.this.adapter.getFilter().filter(cs);

        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub

        }

        @Override
        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub

        }
    });