Android 如何从SearchView获取文本?
我需要从SearchView中获取文本,并将其与我的活动的ListView中的字符串进行比较,如果SearchView中的单词在我的ListView中,则显示Toast。我该怎么做?以下是我的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();
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()
将其删除。