Java 为什么Android onCreateOptions菜单方法返回super.onCreateOptions菜单?

Java 为什么Android onCreateOptions菜单方法返回super.onCreateOptions菜单?,java,android,return,super,oncreateoptionsmenu,Java,Android,Return,Super,Oncreateoptionsmenu,由于我是Android编程新手,我遇到了另一件我不懂的小事情。为什么下面的onCreateOptions菜单方法返回super.onCreateOptions菜单,而不是调用super.onCreateOptions菜单(就像在onCreate方法中那样) (这是来自一个网站。) (我在StackOverflow上没有发现重复的问题。我可能问了一个愚蠢的问题,或者我只是不擅长搜索。)super.onCreateOptions菜单(菜单):将执行任何必须执行的代码,以使选项菜单正常工作。您编写的代

由于我是Android编程新手,我遇到了另一件我不懂的小事情。为什么下面的onCreateOptions菜单方法返回super.onCreateOptions菜单,而不是调用super.onCreateOptions菜单(就像在onCreate方法中那样)

(这是来自一个网站。)


(我在StackOverflow上没有发现重复的问题。我可能问了一个愚蠢的问题,或者我只是不擅长搜索。)

super.onCreateOptions菜单(菜单):将执行任何必须执行的代码,以使选项菜单正常工作。您编写的代码添加了额外的功能/决定了选项菜单的属性。

onCreate()的返回类型为void,而onCreateOptions菜单()返回布尔值,这就是为什么返回必须返回true才能显示菜单的原因,如果返回false,它将不会显示。

hmmm调用super类的onCreateOptions菜单,但最好返回
did_i_create_menu\u in_derived_class | | super.onCreateOptions菜单(菜单)
,在本例中总是
true
。。。从doc
返回:必须返回true才能显示菜单;如果返回false,则不会显示它。
它允许超类实现执行并执行。如果您扩展了一个片段或活动,而该片段或活动已经有一些基本菜单项,您希望这些项包含在子类实现中,那么这将非常有用。因为它必须返回一些内容。因为它是一个布尔方法,所以这和onCreate方法中的super.onCreate(savedInstanceState)是一样的,对吧?但是为什么它在这里返回而不是仅仅调用?@PenguinCake因为这个方法的返回类型是boolean,所以你调用super(它也有一个boolean的返回类型),它做它需要做的所有事情,并且还返回true,以便调用代码能够顺利进行。如果super返回false,那么一定是出了什么问题,这是一种显而易见的方法。但是它的作用是一样的吗?我是否可以在一行执行“super.oncreateoptions菜单(menu)”,在下一行执行“return true”?
super.oncreateoptions菜单(menu);返回true你可以这样做,但一般来说最好返回超级实现。哦,我明白了。我希望我能给出两个公认的答案。。。不过非常感谢!:)
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu items for use in the action bar
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_activity_actions, menu);
    return super.onCreateOptionsMenu(menu);
}