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();
安卓如何动态修改fragment中的 Menu
时间: 2024-10-07 08:33:00