2016-03-08 46 views
0

我膨胀了onCreateOptionsMenu中的菜单,并处理onOptionsItemSelected功能,但我只是想知道,什么通过膨胀的菜单onOptionsItemSelected。我正在考虑创建选项菜单,但我不确定。onCreateOptionsMenu是否将菜单传递给onOptionsItemSelected?

+0

在菜单中的项目被传递到onOptionsItemSelected(菜单项项)。因此,首先调用onCreateOptionsMenu(菜单菜单),然后将菜单项传递给onOptionsItemSelected(MenuItem项) – Inducesmile

回答

0

Android首次需要一个菜单​​来为特定的Activity实例调用onCreateOptionsMenu()。只要该活动处于活动状态,您将创建并返回的菜单及其所有MenuItem对象都将被记住,并可用于后续对onPrepareOptionsMenu()和onOptionsItemSelected()的调用。当活动实例被销毁时,所有这些对象都将消失,并且将为活动的新实例创建新的对象。

0

尝试在onCreateOptionsMenu

@Override 
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 
     inflater.inflate(R.menu.menu_home, menu); 
    } 

和onOptionsItemSelected

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case R.id.action_search: 
      final SearchView searchView = (SearchView) MenuItemCompat.getActionView(item); 

      return true; 
     default: 
      return false; 
    } 

做到用项目作为菜单

相关问题