Android工具栏在点击溢出菜单图标之前不会更新

时间:2015-08-17 09:45:03

标签: android toolbar

我有MainActivity扩展android.support.v7.app.ActionBarActivity和工具栏中的搜索,过滤器图标和溢出菜单中的其他选项,当我加载某个片段时,我希望搜索图标消失并显示过滤器图标。在下面的代码中,我试图隐藏搜索图标并显示过滤器图标,但只有当我点击溢出菜单图标时工具栏才会更新。我很困惑我出错的地方......任何建议都值得赞赏,提前谢谢。

MY_FRAGMENT.Java

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    position = getArguments().getInt(ARG_POSITION);
    return rootView;
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);
    Log.v("oncreate", "");
}

@Override
public void onPrepareOptionsMenu(Menu menu) {
    Log.v("onPrepareOptionsMenu", "");
    AppCompatActivity activity = (AppCompatActivity) getActivity();
    menu.findItem(R.id.action_filter).setVisible(true).setEnabled(true);
    menu.findItem(R.id.action_notification).setVisible(false).setEnabled(false);
    activity.invalidateOptionsMenu(); 
    menu.findItem(R.id.action_notifications).setVisible(false).setEnabled(false);
    return;
}

1 个答案:

答案 0 :(得分:0)

更改

activity.invalidateOptionsMenu();
activity.onCreateOptionsMenu(menu);

activity.onCreateOptionsMenu(menu);
activity.invalidateOptionsMenu();

我希望它有所帮助!