2017-10-09 90 views
0

我不明白当我不返回super.onCreateItemSelected(item)时会发生什么。 Android会默认使用它吗?当我们没有返回onOptionsItemSelected(MenuItem项)中的super.onCreateItemSelected(item)时会发生什么?

public boolean onOptionsItemSelected(MenuItem item) { 
     int itemThatWasClickedId = item.getItemId(); 
     if (itemThatWasClickedId == R.id.action_search) { 
      Context context = MainActivity.this; 
      String textToShow = "Search clicked"; 
      Toast.makeText(context, textToShow, Toast.LENGTH_SHORT).show(); 
      return true; 
     } 

    } 

此代码运行良好。但到处都可以看到super.onCreateItemSelected(item)的用法。

+0

“但到处都可以看到super.onCreateItemSelected(item)的用处” - 希望你不会在任何地方看到,因为Android SDK中没有'onCreateItemSelected()'。不过,您会看到'onOptionsItemSelected()'调用的'super.onOptionsItemSelected()'可以让超类有机会处理它可能添加到操作栏的任何内容。 – CommonsWare

+0

错误我复制onCreateItemSelected()。谢谢你的方式 –

回答

0

超类可能需要处理动作/工具栏中的事件。 所以重要的是调用onOptionsItemSelected的超类。

相关问题