Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android listview编辑文本过滤器空间按钮?_Android_Listview_Android Edittext - Fatal编程技术网

Android listview编辑文本过滤器空间按钮?

Android listview编辑文本过滤器空间按钮?,android,listview,android-edittext,Android,Listview,Android Edittext,我已经创建了一个过滤器列表视图,用户将通过edittext输入输入,结果将在列表视图中过滤 代码运行良好,但每当我按下空格键时,列表视图中的结果就会消失。如何在搜索输入中添加空间而不忽略listview内容 这是我目前的代码: myListview.setTextFilterEnabled(true); edNearBy.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharS

我已经创建了一个过滤器列表视图,用户将通过edittext输入输入,结果将在列表视图中过滤

代码运行良好,但每当我按下空格键时,列表视图中的结果就会消失。如何在搜索输入中添加空间而不忽略listview内容

这是我目前的代码:

myListview.setTextFilterEnabled(true);

    edNearBy.addTextChangedListener(new TextWatcher() {

        public void onTextChanged(CharSequence s, int start, int before, int count) {
            // TODO Auto-generated method stub

        }

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

        }

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

            NearByActivity.this.aa.getFilter().filter(s);

        }
    });
这样做:

public void afterTextChanged(Editable s) {
    String st = s.toString().trim();            
    NearByActivity.this.aa.getFilter().filter(st);
}
但不要用这种方式进行过滤。

用这种方式:

public void afterTextChanged(Editable s) {
    String st = s.toString().trim();            
    NearByActivity.this.aa.getFilter().filter(st);
}
但不要用这种方式进行过滤。

我找到了解决方案:

String[] hi={"Hi there", "Hello", "Bye"};

adapter = new ArrayAdapter<String>(slownik.this, R.layout.list_item, R.id.word_name,hi);
lv.setAdapter(adapter);

inputSearch.addTextChangedListener(new TextWatcher() {

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

        lv.setTextFilterEnabled(true);
        lv.setFilterText(s.toString().trim());
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {


    }

    @Override
    public void afterTextChanged(Editable s) {
        slownik.this.adapter.getFilter().filter(s.toString().trim());
        if(s.length()==0){
            lv.clearTextFilter();
        }
    }
});
String[]hi={“你好”,“你好”,“再见”};
适配器=新阵列适配器(slownik.this,R.layout.list\u项,R.id.word\u名称,hi);
低压设置适配器(适配器);
inputSearch.addTextChangedListener(新的TextWatcher(){
@凌驾
public void onTextChanged(字符序列、int start、int before、int count){
lv.setTextFilterEnabled(真);
lv.setFilterText(s.toString().trim());
}
@凌驾
更改前文本之前的公共void(字符序列s、int start、int count、int after){
}
@凌驾
公共无效后文本已更改(可编辑){
slownik.this.adapter.getFilter().filter(s.toString().trim());
如果(s.length()==0){
lv.clearTextFilter();
}
}
});
我找到了解决方案:

String[] hi={"Hi there", "Hello", "Bye"};

adapter = new ArrayAdapter<String>(slownik.this, R.layout.list_item, R.id.word_name,hi);
lv.setAdapter(adapter);

inputSearch.addTextChangedListener(new TextWatcher() {

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

        lv.setTextFilterEnabled(true);
        lv.setFilterText(s.toString().trim());
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {


    }

    @Override
    public void afterTextChanged(Editable s) {
        slownik.this.adapter.getFilter().filter(s.toString().trim());
        if(s.length()==0){
            lv.clearTextFilter();
        }
    }
});
String[]hi={“你好”,“你好”,“再见”};
适配器=新阵列适配器(slownik.this,R.layout.list\u项,R.id.word\u名称,hi);
低压设置适配器(适配器);
inputSearch.addTextChangedListener(新的TextWatcher(){
@凌驾
public void onTextChanged(字符序列、int start、int before、int count){
lv.setTextFilterEnabled(真);
lv.setFilterText(s.toString().trim());
}
@凌驾
更改前文本之前的公共void(字符序列s、int start、int count、int after){
}
@凌驾
公共无效后文本已更改(可编辑){
slownik.this.adapter.getFilter().filter(s.toString().trim());
如果(s.length()==0){
lv.clearTextFilter();
}
}
});

Thnx工作正常,在NearByActivity.this.aa.getFilter();Thnx工作得很好,在NearByActivity的第3行中遗漏了“st”。this.aa.getFilter().filter(st);