[英]How to update the text of menu in android actionbar
我有什么 ::
我在操作欄中有一個菜單,里面有兩個子項
buffet_map_cart.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_cart"
android:icon="@drawable/ic_action_camera"
android:showAsAction="ifRoom"
android:title="cart">
<menu>
<item
android:id="@+id/action_cart_buy"
android:icon="@drawable/ic_action_camera"
android:title="Sort by newest"/>
<item
android:id="@+id/action_cart_reserve"
android:icon="@drawable/button_reserve_selector"
android:title="Sort by rating"/>
</menu>
</item>
</menu>
我想做什么 ::
action_cart_buy
和action_cart_reserve
您可以使用onPrepareOptionsMenu(Menu)
進行動態更新:
准備要顯示的屏幕標准選項菜單。 每次顯示菜單時都會調用此菜單。 您可以使用此方法有效地啟用/禁用項目或以其他方式動態修改內容。
您可以像以下一樣使用它:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem buyItem = menu.findItem(R.id.action_cart_buy);
MenuItem reserveItem = menu.findItem(R.id.action_cart_reserve);
buyItem.setTitle("New buyItem String");
reserveItem.setTitle("New reserveItem String");
return super.onPrepareOptionsMenu(menu);
}
您可以訪問onCreateOptionsMenu
或onPrepareOptionsMenu
的Menu
對象(更好)。
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem item = menu.findItem(R.id.action_cart_buy);
item.setTitle("Any title");
return super.onPrepareOptionsMenu(menu);
}
要使UI在適當的時間更新ActionBar,您必須調用:
invalidateOptionsMenu();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.