私は今この問題をかなり抱えています。私のコードでは、検索メニュー項目を表示したくない断片があります。私はその後、メインアクティビティでsetVisible(true)を実行すると、フラグメント内に隠れているMenuItemが表示されない
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
this.menu = menu;
MenuItem search = menu.findItem(R.id.action_search);
search.setVisible(false);
}
これは期待どおりに動作し、アイテムを隠しonCreate
setHasOptionsMenu(true);
内部フラグメント
の内側にこれを行うことを達成するために。今私は、主な活動のO nBackPressed()
が呼び出され、そこに私はこの
@Override
public void onBackPressed() {
// code skipped
invalidateOptionsMenu();
}
これは
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
item = menu.findItem(R.id.action_search);
item.setVisible(true);
//code skipped
}
onCreateOptionsMenu
関数であるが、以下のようにある主な活動内部onCreateOptionsMenu
を呼び出しん押し戻すないときだが残念ながらmenuItem
はまだ隠れているので、検索メニューが表示されない。
誰かが助けてもらえますか?何が問題なのでしょうか?前もって感謝します !!