当我在SearchView中提交空查询时,回调不起作用。当我提交一个空查询时,我验证查询是否为空,然后返回一个标准响应。但问题是它不起作用,当查询为空时,OnQueryTextListener的onQueryTextSubmit回调不会执行。
zf2sa74q1#
默认情况下,SearchView不会提交空查询,因此不会触发onQueryTextSubmit回调。要处理提交空查询的情况,您可以重写OnQueryTextListener接口的onQueryTextSubmit方法,并使用空查询字符串手动触发回调。下面是处理空查询的onQueryTextSubmit方法的示例实现:
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { if (query.isEmpty()) { // handle empty query return true; // consume the event } else { // handle non-empty query return false; // do not consume the event } } @Override public boolean onQueryTextChange(String newText) { // handle query text change return false; } });
在上面的代码中,如果查询字符串为空,则onQueryTextSubmit方法返回true以使用事件并阻止SearchView的默认行为。如果查询字符串为非空,则该方法返回false以允许默认行为继续。
1条答案
按热度按时间zf2sa74q1#
默认情况下,SearchView不会提交空查询,因此不会触发onQueryTextSubmit回调。要处理提交空查询的情况,您可以重写OnQueryTextListener接口的onQueryTextSubmit方法,并使用空查询字符串手动触发回调。
下面是处理空查询的onQueryTextSubmit方法的示例实现:
在上面的代码中,如果查询字符串为空,则onQueryTextSubmit方法返回true以使用事件并阻止SearchView的默认行为。如果查询字符串为非空,则该方法返回false以允许默认行为继续。