searchView方法中的onQueryTextChanged方法向后移动而不过滤/发布搜索结果

时间:2017-10-07 11:00:08

标签: android search searchview

我在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() {
            }
        });
    }

1 个答案:

答案 0 :(得分:0)

onQueryTextSubmit: 
  

用户提交查询时调用。这可能是由于钥匙造成的   按下键盘或按下提交按钮。听众   可以通过返回true来覆盖标准行为以指示   它已经处理了提交请求。否则返回false让   SearchView通过启动任何关联的意图来处理提交。

onQueryTextSubmit函数返回true。 要检查String是否为空,请使用 TextUtils.isEmpty()如果字符串为null或0-length,则返回true。