如何刷新片段中的Action Bar菜单

sar*_*abu 1 android actionbarsherlock android-actionbar

我正在使用onCreateOptionsMenu在片段中显示操作栏Sherlock菜单.我有一个要求,如果列表为null,则使菜单被禁用,如果存在,则启用菜单中的一些选项并进行更改.这是我的代码

public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    if ((list != null && list.size() > 0)
            || (response != null && response.messageInfo != null && response.messageInfo
                    .size() > 0)) {
        SubMenu submenus = menu.addSubMenu("");
        submenus.add(1, 1, 1, "Send New Message");
        submenus.add(1, 2, 2, "Filter by Category");
        MenuItem subitem = submenus.getItem();
        subitem.setIcon(R.drawable.img_sorting);
        subitem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    } else {
        menu.add(1, 10, 10, "NOT Clickable").setIcon(R.drawable.img_hide)
                .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,当它第一次加载时,即使列表仍处于禁用模式,它也处于禁用状态,直到我刷新它不会改变其属性.

Bla*_*elt 5

如果您正在使用Sherlock尝试打电话,请supportInvalidateOptionsMenu();尝试使用invalidateOptionsMenu();本机ActionBar