Android 如何从SearchView获取文本?

Android 如何从SearchView获取文本?,android,Android,我需要从SearchView中获取文本,并将其与我的活动的ListView中的字符串进行比较,如果SearchView中的单词在我的ListView中,则显示Toast。我该怎么做?以下是我的SearchView工作代码: MenuItem ourSearchItem = menu.findItem(R.id.menu_item_search); SearchView sv = (SearchView) ourSearchItem.getActionView();

我需要从SearchView中获取文本,并将其与我的活动的ListView中的字符串进行比较,如果SearchView中的单词在我的ListView中,则显示Toast。我该怎么做?以下是我的SearchView工作代码:

MenuItem ourSearchItem = menu.findItem(R.id.menu_item_search);

        SearchView sv = (SearchView) ourSearchItem.getActionView();

        sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {

                adapter.getFilter().filter(newText);
                }
                return false;
            }
        });

要获取
SearchView
的文本,请使用
SearchView.getQuery()

尝试以下代码:

    MenuItem ourSearchItem = menu.findItem(R.id.menu_item_search);

    SearchView sv = (SearchView) ourSearchItem.getActionView();

    sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            Toast.makeText(getContext(), query, Toast.LENGTH_SHORT).show();
            return true;
        }

        @Override
        public boolean onQueryTextChange(String newText) {

            adapter.getFilter().filter(newText);
            }
            return false;
        }
    });

可能重复的谢谢!我在想:if(Arrays.asList(arraylist).contains(sv.getQuery()){//perform some action}但它不起作用(我不能说为什么这样做,因为我没有看到你的代码,但你可以调试它,打印
arraylist
Arrays.asList(arraylist)
sv.getQuery()的值)
,请注意,请确保您的查询字符串没有空格字符,如果是,请使用
trim()
将其删除。