各フラグメントに独自のオプション メニューがあり、フラグメントがビュー ページャーの現在のフラグメントになると拡張されますが、期待どおりに動作しません。正しいオプション メニューが表示されることもあれば、隣接するフラグメント メニューが表示されることもあります。私は他のSOの投稿や他のサイトから、現在のページを保持しているビューページャーと「現在の」ビューにある2つの隣接するページが原因であることを読みました。したがって、オプションメニューは、問題。新しいメニューを膨らませる前に menu.clear() を呼び出すことで、むさぼり食う問題を解決しました。しかし、メニューはまだ正しくロードされていないことがあります(ほとんどの場合、実際には)。
ビュー ページャー クラスを変更するためのいくつかの提案が他のサイトで行われましたが、それが正しい方法かどうかはわかりません。誰でも解決策を教えてくれるか、この問題を回避する方法についてアドバイスをください。
私が使用しているコード:
@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.clear();
inflater.inflate(R.menu.A_fragment_optionmenu, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
/* switch (item.getItemId()) {
case R.id.insert_tag:
FragmentTransaction trans = getFragmentManager().beginTransaction();
trans.replace(R.id.buy_root_frame, new B_insert_tags());
trans.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
trans.addToBackStack(null);
trans.commit();
return true;
default:
}*/
return super.onOptionsItemSelected(item);
}