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