在onCreateOptionsMenu()方法中使用menuInflater对象异步加载菜单,并在onPrepareOptionsMenu()方法中显示菜单。
以下是示例代码:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// Inflate the menu asynchronously
new Handler().post(new Runnable() {
@Override
public void run() {
getActivity().getMenuInflater().inflate(R.menu.options_menu, menu);
}
});
super.onCreateOptionsMenu(menu, inflater);
}
@Override
public void onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
// Show the menu when it is prepared
if (menu != null && !menu.hasVisibleItems()) {
new Handler().post(new Runnable() {
@Override
public void run() {
menu.setGroupVisible(R.id.options_menu_group, true);
}
});
}
}