如何处理搜索 View 小部件中后退箭头上的点击事件:
我试过这段代码,但它不起作用:
searchtollbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "back arrow clicked");
}
});
我也试过这个:
MenuItemCompat.setOnActionExpandListener(item_search, new
MenuItemCompat.OnActionExpandListener() {
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
// Do something when collapsed
return true;
}
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
// Do something when expanded
return true;
}
});
上述代码的问题是调用 onMenuItemActionCollapse() 方法也会执行 onQueryTextChange(),这是不可取的。
所以请帮忙。
最佳答案
要解决这个问题,您必须覆盖 onOptionsItemSelected
方法。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case android.R.id.home:
// handle back event.
return true;
default:
return super.onOptionsItemSelected(item);
}
}
关于android - 如何处理 SearchView 中的后退箭头事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45635482/