2011-03-14 69 views
1

改變啓用/禁用菜單項我有一個Activity三個MenuItems如何基於類變量

  • 一個選項菜單創建
  • 選擇
  • 刪除

當有目前沒有選擇任何項目我禁用MenuItem進行刪除。

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); 
    final MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.layout.basic_menu, menu); 
    this.deleteCharMenu = menu.findItem(R.id.basic_menu_deletechar); 
    this.deleteCharMenu.setEnabled(this.current != null); 
    return true; 
} 

但是onCreateOptionsMenu在每次打開菜單時都不會調用(嘗試錯誤讓我得到這個結果)。

因此,我將MenuItem存儲在類變量中,以便每當this.current更改其值時都能夠更改其狀態。

是否有更優雅的方法來確保啓用和禁用正確的MenuItems?我希望能夠使用某種傾聽者?

回答

0

重載onPrepareMenu,它在被顯示之前被調用。

+0

非常感謝。教會我在將來更密切地關注活動中的所有方法。 – Yashima 2011-03-14 09:57:22