0
我有MainActivity
它擴展了android.support.v7.app.ActionBarActivity
和工具欄與溢出菜單中的搜索,過濾器圖標和其他選項,當我加載某個片段時,我希望搜索圖標消失並顯示過濾器圖標。正如我在下面的代碼中,我試圖隱藏搜索圖標和顯示過濾器圖標,但只有當我點擊溢出菜單圖標時,工具欄纔會更新。我很困惑我要去哪裏錯了...任何建議表示讚賞,在此先感謝。Android工具欄不更新,直到在溢出菜單上點擊圖標
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;
}
我們應該調用這個嗎? 'activity.onCreateOptionsMenu(menu);' – Emil
感謝您的建議@Boss,activity.onCreateOptionsMenu(menu);實際上沒有必要調用,按照文檔invalidateOptionsMenu()通常會做的伎倆,但由於某種原因它不適合我...請檢查更新的代碼。 –