動態改變actionbar的menu選單MenuItem的顯示
摘要 onCreateOptionsMenu(Menu menu)方法中我們能夠通過getMenuInflater().inflate(R.menu.list_option, menu);來構建一個選單,並通過 menu.findItem(R.id.menu) 獲得具體的一個選單項。但這個onCreateOptionsMenu在activity的整個週期中只被呼叫一次,之後都不
onCreateOptionsMenu(Menu menu)方法中我們能夠通過getMenuInflater().inflate(R.menu.list_option, menu);來構建一個選單,並通過
|
menu.findItem(R.id.menu) |
獲得具體的一個選單項。但這個onCreateOptionsMenu在activity的整個週期中只被呼叫一次,之後都不會變化,於是在android的較新版本里有了onPrepareOptionsMenu方法。
onCreateOptionsMenu方法是不能動態載入選單的,因為他只呼叫了一次,你可以換onPrepareOptionsMenu這個方法來獲取,他每次點選選單都會呼叫。
這就貌似可以實現動態改變選單了。
但是在下面的場景中這樣還是無能為力的:
一個記事本列表介面,當記事條數為0時,actionbar選單項只有“新建”一個選單項
當我點選新建插入了一條記事,銷燬編輯介面,重新回到列表介面,這時actionbar要求顯示“新建”和“匯出”兩個選單項。
如果按照剛剛介紹的方法根本不能實現選單的動態顯示,因為那種辦法必須要按menu按鍵,而我的需求裡面是根據內容改變,不是手動觸發。
解決的辦法是在你要更新選單項的地方加上:
mActivity.getWindow().invalidatePanelMenu(Window.FEATURE_OPTIONS_PANEL);
這個是原生actionbar的解決辦法,如果你用的是 ActionBarSherlock,那麼呼叫
invalidateOptionsMenu();
相關文章
- vue-element 選擇框 選擇值改變,顯示不變Vue
- mfc下改變選單的文字
- react native拖動上方顯示值,改變背景顏色的sliderReact NativeIDE
- IOS 動態改變cell的高度iOS
- antd design Menu選單下拉回撥以及下拉選單時只能顯示一個列表,其餘關閉
- 自定義 ActionBar 標題與選單中的文字樣式
- 對CXListCtrl的項ComboBox顯示值改變的響應方法
- WEUI picker元件無法js動態改變選項UI元件JS
- Tkinter (10) 選單部件 Menu
- javascript動態改變css3的animationJavaScriptCSSS3
- vue中:is的用法,動態顯示需要的元件Vue元件
- 使用RecyclerView動態改變item時遇到的坑View
- el-select顯示名稱(label)沒有隨著選擇的改變而更新問題
- 動態路由,透過id改變,改頁面路由
- 滑鼠經過顯示下拉選單
- 手把手教你完成數字動態變化顯示效果
- 數碼管動態顯示
- Bartender 4:圖示顯示切換大變樣,還能在選單欄自定義文字
- 選單欄美化的好幫手Boring Old Menu Bar for MacMac
- 動態的新增ImageView到LinearLayout中並居中顯示View
- Failed to load AppCompat ActionBar with unknown error.--AS遇到檢視控制元件不顯示的解決方法AIAPPError控制元件
- vue元件之路之menu導航選單Vue元件
- tkinter中menu選單控制元件(十二)控制元件
- Android 最簡單的自定義MenuItem之一AndroidUI
- 關於Spyder在高解析度顯示器下的選單圖示顯示不正確問題
- Polygon:暴雪過去的6個月 顯示出一個正在迅速改變的公司Go
- 靜態數碼管顯示、動態數碼管顯示、矩陣按鍵矩陣
- WPF Menu控制元件 我也有個不能點菜的選單控制元件
- 獨立模型能否通過新增到選單的形式,直接在選單顯示出來模型
- [提問交流]後臺新增自定義選單左側不顯示子選單的進
- 用js實現動態改變根元素字型大小的方法JS
- jQuery實現簡單點選隱藏和點選顯示列表的功能jQuery
- elementui 如果變數為1 顯示 開啟,2顯示關閉。表格怎麼根據狀態碼顯示狀態值UI變數
- bootstrap 選單導航選單nav li滑鼠移入hover下拉顯示boot
- Vue的動態選單無法登入(無法載入選單)Vue
- element-pluls中的動態el-menu中遇到的問題
- BootstrapBlazor實戰 Menu 導航選單使用(2)bootBlazor
- BootstrapBlazor實戰 Menu 導航選單使用(1)bootBlazor
- 實現單擊一級選單顯示或隱藏二級選單