我该怎么办?
我可以使用听众吗?或者我被迫使用像while循环或其他东西一样的东西?
对于打开SearchView的情况,我知道我可以使用menuItem.setOnMenuItemClickListener
,但对于结束我不知道......
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
MenuItem menuItem = menu.findItem(R.id.search);
//...
menuItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
findViewById(R.id.button).setEnabled(false);
return false;
}
});
return true;
}
答案 0 :(得分:1)
要了解SearchView
何时开启或关闭,您可以使用OnActionExpandListener
:
onMenuItemActionCollapse
将被调用。onMenuItemActionExpand
将被调用。例如:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
MenuItem menuItem = menu.findItem(R.id.search);
//...
MenuItemCompat.setOnActionExpandListener(menuItem, new MenuItemCompat.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
findViewById(R.id.button).setEnabled(false);
return true;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
findViewById(R.id.button).setEnabled(true);
return true;
}
});
return true;
}