View Pagerのページ変更で正しくインフレーションされていないオプションメニュー
-
23-12-2019 - |
質問
私は、フラグメントが表示されているときに膨張した独自のオプションメニューを持つ各断片があります。正しい[オプション]メニューが表示されることがあります。隣接するフラグメントメニューが表示されることがあります。現在のページを保持しているプレゼンが表示され、「現在」ビューにある2つの隣接するページが表示されているので、他の場所やその他のサイトから読んでいます。このようにして、オプションメニューは1つかそのようなものとしてまとめられています。問題。新しいメニューを膨張させる前にMenu.clare()を呼び出すことで、Gobbling問題を解決しました。しかし、メニューはまだ正しくロードされていない場合があります(実際にはほとんどの場合)。
ビューのページャのクラスを変更するために他のサイトでもいくつかの提案がなされていますが、それが正しい方法であるかどうかわかりません。誰かが解決策に直接直接助けたりすることも、この問題を回避する方法についてのアドバイスをしてください。
コードを使用しています:
@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);
}
. 解決
OKは、View PagerがあったアクティビティにOnPrepareOptionsMenuを使用し、次にPageSelectで使用されているメニューを膨らませていました。働いていますが、小さな遅れ(未評価)。
所属していません StackOverflow