1、复写onPrepareOptionsMenu方法
@Override
public void onPrepareOptionsMenu(Menu menu) {
menu.clear();//先清除已经建好的menu
MenuInflater inflater = getActivity().getMenuInflater();
//根据各种条件,重新设置menu
if (isDeleteIconOnActionBar){
inflater.inflate(R.menu.delete_action, menu);
}else if(isRefreshIconOnActionBar){
inflater.inflate(R.menu.delete_refresh_action, menu);
}else{
inflater.inflate(R.menu.main_activity_actions, menu);
}
super.onPrepareOptionsMenu(menu);
}
2、在需要修改menu的地方调用
getActivity().supportInvalidateOptionsMenu();
本文详细介绍了如何在Android应用中复写onPrepareOptionsMenu方法,通过检查ActionBar图标状态,动态加载不同的菜单资源,实现菜单的灵活显示与操作。包括菜单清理、资源加载及触发invalidateOptionsMenu的方法调用。
1561

被折叠的 条评论
为什么被折叠?



