Как я могу получить значок из панели инструментов, который будет изменен на новый, который я получаю с помощью метода, который отображается в bbdd. Проблема в том, что я не могу получить доступ к событию, которое обновляет действие, чтобы изменить значок. Я попытался использовать метод onPrepareOptionsMenu, но я не могу заставить его работать. Я не смог сделать это, поставив код в onStart, потому что он сообщает мне, что объект меню пуст или недействителен.Измените значок на панели инструментов Android
public boolean onPrepareOptionsMenu(Menu menu) {
menu.clear();
Drawable iconoMenu = obtenerIconoMenuCarro();
getMenuInflater().inflate(R.menu.menu_categorias, menu);
menu.getItem(0).setIcon(iconoMenu);
return super.onPrepareOptionsMenu(menu);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_categorias, menu);
Drawable iconoMenu = obtenerIconoMenuCarro();
menu.getItem(0).setIcon(iconoMenu);
return true;
}
Мои действия распространяются AppCompactActivity и загружаются через AdapterView. И у меня есть проблема, когда я возвращаюсь к фрагментуDialog или со следующего действия.
Спасибо.
[Это сообщение] (http://stackoverflow.com/questions/19882443/how-to-change-menuitem-icon-in-actionbar-programatically) имеет много вариантов, чтобы сделать то, что вы хотите. Вы можете установить глобальное логическое значение, и если вы хотите обновить пункт меню, вызвав 'invalidateOptionsMenu()', измените значение boolean на true. Затем в 'onPrepareOptionsMenu', если логическое значение true, измените значок без необходимости удаления меню. – Fllo
Спасибо, я доверяю проблему. – ferdiado
@ferdiado Uh, что такое 'solicionate'? –