我正在片段的工具栏菜单中使用SearchView:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_songbook_filter, menu);
MenuItem searchMenuItem = menu.findItem(R.id.action_search);
mSearchView = (SearchView) searchMenuItem.getActionView();
mSearchView.setOnQueryTextListener(this);
mSearchView.setIconified(true);
mSearchView.setIconifiedByDefault(true);
mSearchView.onActionViewExpanded();
mSearchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
// Never gets called
return false;
}
});
}
这是我的菜单项:
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_search"
android:title="@string/action_search"
app:actionViewClass="androidx.appcompat.widget.SearchView"
app:showAsAction="ifRoom|collapseActionView" />
我可以完美收到setOnQueryTextListener
-完全没有问题。但是我无法收到OnClose。我试图从androidx.appcompat.widget.SearchView
切换到android.widget.SearchView
,但是它也不起作用。我也尝试过onActionViewCollapsed
和onActionViewExpanded
,它们也都无效。 This解决方案也不起作用。 有人知道我如何收到OnClose吗?