Я хочу знать, могу ли я изменить значок пункта меню после того, как в меню он инициализирован, это мой код:Android: редактировать Пункт меню, когда закончите меню загрузки
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
menu.clear();
inflater.inflate(R.menu.right_menu, menu);
this.menu = menu;
updateMenuButton();
}
public void updateMenuButton() {
if (menu != null) {
if (verificato) {
this.menu.getItem(R.id.action_home).setIcon(R.drawable.ic_clear_white_24dp);
} else {
this.menu.getItem(R.id.action_home).setIcon(R.drawable.ic_done_white_24dp);
}
}
}
Я называю updateMenuButton
в конце onCreateOptionsMenu
, но при попытке получить доступ к этому:
this.menu.getItem(R.id.action_home).setIcon(R.drawable.ic_clear_white_24dp);
Я получаю эту ошибку:
java.lang.IndexOutOfBoundsException: Invalid index 2131624115, size is 1
, поэтому я думаю, что меню товаров еще не добавлено? если я удаляю вызов updateMenuButton()
в конце onCreateOptionsMenu
Я вижу пункт меню.
Как я могу это сделать?
Благодаря
вы можете сделать что-то вроде этого http://stackoverflow.com/questions/7765184/how-can-i-refresh-the-actionbar-when-onprepareoptionsmenu-switched-menu-entries –