使onOptionsItemSelected上的搜索菜单和导航菜单一起工作?

时间:2019-02-28 14:14:42

标签: android

我在mainactivity中为搜索菜单按钮选择了onOptionsItemSelect :

public class MainActivity extends BaseActivity {

...

   public boolean onOptionsItemSelected(MenuItem item)
    {
        switch (item.getItemId())
        {
            case R.id.action_search:
                search();
                return true;
        }
        return true;
    }

,这在基本活动中:

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);
}

但是使用这两个我不能使它们都不起作用。 (单击两者都不起作用)

有什么解决方法的想法吗?

1 个答案:

答案 0 :(得分:1)

如果您没有点击,就必须在主要活动中致电super.onOptionsItemSelected(item)。然后将在BaseActivity中调用onOptionItemSelected。

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.action_search:
            search();
            return true;
    }
    return super.onOptionItemSelected(item);
}