如何解决展开的 SearchView 上的 onClickListener
我只想检测 SearchView 是否被点击。 像 setOnClickListener 和 setOnSearchClickListener 这样的普通侦听器只检测对 SearchView 左侧搜索图标的点击。 但是我想无论用户在何处单击工具栏,都想检测到单击。
我尝试了以下方法:
setOnSearchClickListener:
searchView = findViewById(R.id.search_bar);
searchView.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("###","clicked");
}
});
setOnClickListener:
searchView = findViewById(R.id.search_bar);
searchView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("###","clicked");
}
});
setOnTouchListener:
searchView = findViewById(R.id.search_bar);
searchView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v,MotionEvent event) {
Log.i("###","Clicked");
return false;
}
});
以上都不起作用。 我知道我可以简单地将 setOnQueryTextListener 与 onQueryTextChange 一起使用,但这在我的特定情况下不起作用,我想在用户甚至开始输入 SearchView 之前检测点击。 而且我还想扩展工具栏(图标化 = false)。
这是我的 SearchView XML:
<androidx.appcompat.widget.SearchView
android:id="@+id/search_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:iconifiedByDefault="false"
app:defaultQueryHint="Search here" />
互联网上似乎没有答案。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com(将#修改为@)