我在android中使用SearchView的onQueryTextChanged方法有一个奇怪的问题。我的问题是,当特定文本时,例如:" Al a"已经输入(即在输入字母' a'在搜索字段中)之后,searchView自行关闭。但如果我进入" Al A"即资本化' a'没有问题。同样地,同样的问题仍然存在于" Al b"," Al c",.....等等。起初我认为它与逃逸序列有关但是&#39不是真的。我很无能,请帮忙。
private void search(SearchView searchView) {
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
System.out.println("text entered="+newText);
if (condition!= null) {
if (newText.length()!=0) { //if newText is not empty
} else {
isFiltersActive = false;
}
ListAdapter.getFilter().filter(newText);
} else
isFiltersActive = false;
return true;
}
});
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
}
});
}
答案 0 :(得分:0)
onQueryTextSubmit:
用户提交查询时调用。这可能是由于钥匙造成的 按下键盘或按下提交按钮。听众 可以通过返回true来覆盖标准行为以指示 它已经处理了提交请求。否则返回false让 SearchView通过启动任何关联的意图来处理提交。
从onQueryTextSubmit
函数返回true。
要检查String是否为空,请使用
TextUtils.isEmpty()
如果字符串为null或0-length,则返回true。