Java 展开的SearchView上的onClickListener
我只是想检测是否单击了SearchView。 像setOnClickListener和setOnSearchClickListener这样的普通侦听器只检测到在SearchView左侧的搜索图标上的单击。 但我希望无论用户在哪里单击工具栏都能检测到单击 我尝试了以下方法: setOnSearchClickListener:Java 展开的SearchView上的onClickListener,java,android,onclicklistener,searchview,Java,Android,Onclicklistener,Searchview,我只是想检测是否单击了SearchView。 像setOnClickListener和setOnSearchClickListener这样的普通侦听器只检测到在SearchView左侧的搜索图标上的单击。 但我希望无论用户在哪里单击工具栏都能检测到单击 我尝试了以下方法: setOnSearchClickListener: searchView = findViewById(R.id.search_bar); searchView.setOnSearchClic
searchView = findViewById(R.id.search_bar);
searchView.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("###", "clicked");
}
});
searchView = findViewById(R.id.search_bar);
searchView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("###", "clicked");
}
});
setOnClickListener:
searchView = findViewById(R.id.search_bar);
searchView.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("###", "clicked");
}
});
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;
}
});
以上这些都不起作用。
我知道我可以简单地使用带有onQueryTextChange的setOnQueryTextListener,但这在我的特定情况下不起作用,我想在用户开始输入SearchView之前检测单击。
我还想扩展工具栏(iconified=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" />
互联网上似乎没有答案