我有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;
}
答案 0 :(得分:0)
更改
activity.invalidateOptionsMenu();
activity.onCreateOptionsMenu(menu);
到
activity.onCreateOptionsMenu(menu);
activity.invalidateOptionsMenu();
我希望它有所帮助!