onCreateOptionsMenu()调用super

sky*_*all 35 android android-optionsmenu

我正在使用OptionsMenu创建应用程序.我发现几个例子吧,但是大家都在用不同的地方调用super.onCreateOptionMenu()onCreateOptionsMenu()方法.

不同方式列表:

@Override // without super
public boolean onCreateOptionsMenu(Menu menu) {
  MenuInflater inflater = getMenuInflater();
  inflater.inflate(R.menu.mymenu, menu);
  return true;
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
  super.onCreateOptionsMenu(menu);
  MenuInflater inflater = getMenuInflater();
  inflater.inflate(R.menu.mymenu, menu);
  return true;
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
  MenuInflater inflater = getMenuInflater();
  inflater.inflate(R.menu.mymenu, menu);
  return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)

我该怎么用?

Cri*_*ian 33

这取决于你想做什么.第一个示例将放置您的菜单,只放置您的菜单.第二,将添加第一个超级菜单.最后一个将首先添加您的菜单.但是,请记住,菜单还有一个订单字段,在渲染时将考虑到这一点.

假设您正在扩展已有菜单的活动,但您不希望该菜单出现,而是另一个菜单.在这种情况下,您将使用第一种方法.

另一个例子:您正在扩展具有菜单的活动,并且您想要添加另一个菜单.在这种情况下,您可以使用第二种或最后一种方法.