<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    demibug

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      24 Posts :: 3 Stories :: 2 Comments :: 0 Trackbacks
    Android程序?qū)崿F(xiàn)動態(tài)OptionsMenu
    默認(rèn)使用的菜單例子都是創(chuàng)建的靜態(tài)菜單,在某些時候會不方便,比如: 
    一篇文章的顯示,按menu有加入收藏的功能,那實(shí)現(xiàn)的是如果未加入收藏,則是加入收藏的操作,否則是取消收藏的操作。 
    但onCreateOptionsMenu是實(shí)現(xiàn)不了這個功能的,它只會運(yùn)行一次,如果再次按下menu,則不會變化。 

    我們看看程序說明: 
    public boolean onCreateOptionsMenu (Menu menu) 
    Initialize the contents of the Activity
    's standard options menu. You should place your menu items in to menu. 
    This is only called once, the first time the options menu is displayed. To update the menu every time it is displayed, see onPrepareOptionsMenu(Menu). 
    The 
    default implementation populates the menu with standard system menu items. These are placed in the CATEGORY_SYSTEM group so that they will be correctly ordered with application-defined menu items. Deriving classes should always call through to the base implementation. 
    You can safely hold on to menu (and any items created from it), making modifications to it as desired, until the next time onCreateOptionsMenu() is called. 
    When you add items to the menu, you can implement the Activity
    's onOptionsItemSelected(MenuItem) method to handle them there. 
    Parameters 
    menu The options menu in which you place your items. 
    Returns 
    You must 
    return true for the menu to be displayed; if you return false it will not be shown. 
    See Also 
    onPrepareOptionsMenu(Menu) 
    onOptionsItemSelected(MenuItem)

    也就是說明了它是第一次顯示菜單時調(diào)用的,每次更新,需要定義onPrepareOptionsMenu:
    public boolean onPrepareOptionsMenu (Menu menu) 
    Prepare the Screen
    's standard options menu to be displayed. This is called right before the menu is shown, every time it is shown. You can use this method to efficiently enable/disable items or otherwise dynamically modify the contents. 
    The default implementation updates the system menu items based on the activity's state. Deriving classes should always call through to the base class implementation.
    代碼例子:
    01.//code from www.aslibra.com
    02.public boolean onPrepareOptionsMenu(Menu menu) {
    03.menu.clear();
    04.if(isFavoutite){
    05.menu.add(0, NFav_ID, 0, R.string.menu_not_favourite).setIcon(R.drawable.ic_tab_selected_contacts);
    06.}else{
    07.menu.add(0, Fav_ID, 0, R.string.menu_favourite).setIcon(R.drawable.ic_tab_selected_contacts);
    08.}
    09.menu.add(0, Del_ID, 0, R.string.menu_delete).setIcon(R.drawable.ic_tab_selected_contacts);
    10.return super.onPrepareOptionsMenu(menu);
    11.}
    posted on 2011-11-08 21:25 Hiji 閱讀(210) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 97无码免费人妻超级碰碰夜夜 | 中文字幕亚洲无线码| 99久久免费中文字幕精品| 中文字幕亚洲一区二区va在线| 羞羞视频在线观看免费| 少妇亚洲免费精品| 337p日本欧洲亚洲大胆精品555588| 国产日韩AV免费无码一区二区| 国产亚洲福利精品一区| 亚洲AV男人的天堂在线观看| 无码专区永久免费AV网站| 亚洲影视自拍揄拍愉拍| 在线观看人成网站深夜免费| 亚洲国产a∨无码中文777 | 免费毛片a线观看| 亚洲国产第一页www| 曰批全过程免费视频网址| 亚洲制服在线观看| a毛片视频免费观看影院| 亚洲Av综合色区无码专区桃色| 无码人妻一区二区三区免费n鬼沢| 亚洲国产亚洲综合在线尤物| 最近的免费中文字幕视频| 亚洲国产精品va在线播放| 99视频在线精品免费| wwwxxx亚洲| 免费国产成人午夜私人影视| 亚洲国产精品乱码在线观看97 | 免费一级毛片在级播放| 国产精品午夜免费观看网站| 国产免费看插插插视频| 亚洲精品色播一区二区| 亚洲另类激情专区小说图片| 99精品在线免费观看| 亚洲人成未满十八禁网站| 久久精品免费一区二区喷潮| 精品女同一区二区三区免费播放 | 亚洲AV日韩精品一区二区三区| 99在线免费视频| 7777久久亚洲中文字幕| 亚洲日本中文字幕一区二区三区|