2014-01-13 3 views
1

У меня есть ActionBar с различными MenuItems, и я хочу добавить новый MenuItem, но только если для флага установлено значение true. Я получаю значение для этого флага из веб-службы - используя AsyncTask.Добавить новый MenuItem из AsyncTask

В моей деятельности я пытался получить глобальную ссылку на меню:

public class EventProgramFragmentActivity extends BaseRoboSherlockFragmentActivity { 
    Menu activityMenu; 

@Override 
public boolean onCreateOptionsMenu(Menu menu){ 
    this.activityMenu= menu; 
    ... 
} 

и использовать activityMenu в onPostExecute, но я получаю исключение нулевого указателя в onPostExecute, и я думаю, что это - потому что onCreateOptionsMenu вызывается после onCreate закончен - поэтому activityMenu имеет значение null. (AsynkTask выполняется в onCreate)

Итак, как мне добавить новый MenuItem - после того, как AsynkTask извлекает флаг?

ответ

0

Вам не хватает раздувания меню перед его назначением?

public boolean onCreateOptionsMenu(Menu menu){ 
    getMenuInflater().inflate(R.menu.main, menu); 
    this.activityMenu= menu; 
    ... 
} 
+0

Нет - Я не использую макет меню XML для определения своего меню. Я добавляю элементы меню dynamicaly – Alin

+0

Просьба указать код, где и как вы создаете меню во время выполнения. –

Смежные вопросы