2011-03-21 3 views
2
@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.main_menu, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle item selection 
    switch (item.getItemId()) { 
      case R.id.about: 
      Intent i = new Intent(this, impresszum.class); 
      startActivity(i); 

       return true; 
      case R.id.quit: 
       AppUtils.ExitTheApplication(); 
       return true; 
      default: 
       return super.onOptionsItemSelected(item); 
    } 
} 

У меня есть этот код. Я хочу добавить некоторое меню во время выполнения, когда мне это нужно. И удалите некоторые меню, когда мне это нужно. Как я могу это сделать?Android добавить пункт меню во время выполнения

+0

См. [Создание меню на веб-сайте разработчиков Android] (http://developer.android.com/guide/topics/ui/menus.html#intents) и сосредоточьтесь на * динамически добавляющем меню. – Wroclai

ответ

3

Элементы меню необязательно относятся к действию, как в разделе, предложенном Шелли, и в этом случае вы можете позвонить invalidateOptionsMenu(), чтобы получить удержание объекта меню, чтобы «обновить» меню в следующем вызове до onPrepareOptionsMenu() ,

От the same Android Developers site:

На Android 2.3.x и ниже, система вызывает onPrepareOptionsMenu() каждый раз, когда пользователь открывает меню опций (нажимает кнопку Меню).

В Android 3.0 и выше, меню опций считается всегда , когда пункты меню представлены в панели действий. Когда происходит событие , и вы хотите выполнить обновление меню, вы должны позвонить по телефону invalidateOptionsMenu(), чтобы получить запрос по телефону onPrepareOptionsMenu().

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