日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

onCreateOptionsMenu和onPrepareOptionsMenu的

系統 1952 0

android中可以重寫activity的兩個方法進行創建菜單:onPrepareOptionsMenu(Menu menu),onCreateOptionsMenu。

兩種方法的區別是,前者是每次點擊menu鍵都會重新調用,所以,如果菜單需要更新的話,就用此方法。而后者只是在activity創建的時候執行一次。

值得注意的是,在使用前者的時候,如果你每次都調用了menu.add()方法的話,那么菜單中的項目就會越來越多,所以,一般情況下是要調用一下menu.clear()的。
?
onCreateOptionsMenu
  只會 呼叫 一次,他只會在MENU顯示之前,去做一次!!!之後就不會再去呼叫!


onPrepareOptionsMenu
  onPrepareOptionsMenu是每次在display menu之前,都會去呼叫,
  只要按一次menu按鍵,就會呼叫一次。
  所以你會發現每次只要按一次menu按鍵,
  menu選單就會多兩個(因為我們預設是兩個)
  你可以利用onPrepareOptionsMenu來做update menu狀態的動作


如果你要把menu現有的option清空,就是下面那行CODE

menu.clear();

?

還有,在fragment中的onCreateOptionsMenu和Activity中的參數不同的,多了個MenuInflater,所以在fragment中調用MenuInflater的時候,要這么調用:

MenuInflater inflater =?this.getActivity().getMenuInflater();

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// 在onCreateOptionsMenu()之前必須在onCreate中調用setHasOptionsMenu(true)
inflater.inflate(R.menu.menu_three, menu); ??
super.onCreateOptionsMenu(menu, inflater);
}

onCreateOptionsMenu和onPrepareOptionsMenu的區別


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 团风县| 凤凰县| 新兴县| 顺昌县| 横山县| 获嘉县| 台山市| 确山县| 民勤县| 旺苍县| 神农架林区| 大兴区| 盐亭县| 沭阳县| 方正县| 旺苍县| 健康| 扬中市| 深水埗区| 曲阜市| 昭苏县| 河津市| 乐安县| 泾源县| 邯郸县| 洞头县| 台南市| 图木舒克市| 阜宁县| 武平县| 承德县| 大同市| 鲜城| 佛坪县| 汝城县| 莱西市| 邯郸县| 佛山市| 印江| 招远市| 托里县|