从编辑文本中的列表视图中过滤文本

时间:2011-09-30 11:46:53

标签: android android-edittext

我有一个列表视图,上面有一个编辑文本。在编辑文本中,将从列表视图中搜索数据并以编辑文本显示。在列表视图中,一些数据是两个单词。例如,列表视图包含“汽车”,“红色汽车”,“蓝色汽车”。现在,如果我在编辑文本中键入c,它只显示汽车,而不是其他两个。当键入c时,如何搜索以上三种。这是我的代码......

 @Override
        public void onTextChanged(CharSequence s, int start, int before,        int count) {
            wordlength = ed.getText().length();
            editsort.clear();
            for(int i=0;i<word.length;i++){
                if(wordlength<=word[i].length()){
                    if(ed.getText().toString().equalsIgnoreCase((String) word[i].subSequence(0, wordlength))){
                    editsort.add(word[i]);

                    }
                }
            } 

...谢谢

1 个答案:

答案 0 :(得分:1)

如果word是您要搜索的字符串数组:

       public void onTextChanged(CharSequence s, int start, int before, int count) {
          String searchFor = ed.getText().toString();
          editsort.clear();
          for( String whole : word ){
               for( String part : whole.split( " " ) ) {
                  if( part.startsWith( searchFor ) );
                    editsort.add( whole );
               }
            }
        }