gpt4 book ai didi

android - 查询提交后 SearchView 不响应点击

转载 作者:行者123 更新时间:2023-11-30 00:47:52 25 4
gpt4 key购买 nike

我的应用程序包含一个标准的 SearchView 小部件。从下面的代码中可以看出,我设置了一个 OnClickListener、一个 OnCloseListener 和一个 OnQueryTextListener。

如果我点击 SearchView,它最初会按预期响应。如果我输入文本并按下键盘上的搜索按钮,OnQueryTextListener 会正确触发,并且键盘会根据 searchView.setIconified(true) 关闭。但是,如果我现在再次点击 SearchView,则不会触发 OnClickListener。键盘仍然出现并且该字段变得可编辑,但是我在 OnClickListener 中的代码没有执行。

如果我在此之后使用“X”图标关闭搜索 View ,一切都会恢复正常。下次我点击 SearchView 时,我的监听器被触发。

每次单击 SearchView 时我都需要执行额外的代码。

在此特定实例中,可能导致监听器不触发的原因是什么?我还应该在 OnQueryTextSubmit 中做些什么吗?

    searchView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
filterLayout.setVisibility(View.VISIBLE);
searchView.setIconified(false);
System.out.println("on click");
}
});


searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
filterLayout.setVisibility(View.INVISIBLE);

return false;
}
});

searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {

searchView.setIconified(true);

return false;
}

@Override
public boolean onQueryTextChange(String newText) {
return false;
}
});

最佳答案

我找到了这个问题的一半答案。如果我在提交查询时清除了 searchView 的焦点,那么当用户下次点击 searchView 时,OnQueryTextFocusChangeListener 会收到调用。它并没有完全回答我最初的问题,但对于我的案例来说,这是一个可以接受的解决方法。

关于android - 查询提交后 SearchView 不响应点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41514311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com