我在主 Activity 中为搜索菜单按钮设置了这个 onOptionsItemSelected:
public class MainActivity extends BaseActivity {
...
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.action_search:
search();
return true;
}
return true;
}
这在 baseactivity 中:
public class BaseActivity extends AppCompatActivity implements View.OnClickListener{
...
@Override
public boolean onOptionsItemSelected(MenuItem item){
//int id = item.getItemId();
if(mToggle.onOptionsItemSelected(item)){
return true;
}
nDrawerLayout.closeDrawers(); //close menu after click
return super.onOptionsItemSelected(item);
}
但是对于这两个我不能让它们都不起作用。 (单击两者均无效)
有什么解决办法吗?
最佳答案
如果不消耗点击,则必须在主 Activity 中调用 super.onOptionsItemSelected(item)
。然后在BaseActivity中会调用onOptionsItemSelected。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_search:
search();
return true;
}
return super.onOptionItemSelected(item);
}
关于android - 使搜索菜单和导航菜单 onOptionsItemSelected 一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54927689/