フラグメントがすでにオープンされている場合、ナビゲーション・ドロウダー・アイテムをクリックしてフラグメントを再度作成すると、どのように断片が既に開いているかどうかを確認するには?フラグメントが既に開かれている場合、ナビゲーション・ドロワーからフラグメントを開くのを防ぐには
public boolean onNavigationItemSelected(MenuItem item) {
int id = item.getItemId();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (id == R.id.fragmentA) {
{ FragmentA fragment = new FragmentA();
transaction.add(R.id.main_screen, fragment1, "MainFrag").addToBackStack(null);
}
} else if (id == R.id.fragmentB) {
FragmentB fragment = new FragmentB();
transaction.add(R.id.main_screen, fragment).addToBackStack(null);
} else if (id == R.id.fragmentC) {
FragmentC fragment = new FragmentC();
transaction.replace(R.id.main_screen, fragment).addToBackStack(null);
}
NavigationDarwerからの参照はどういう意味ですか? –
参照を持つと、メソッド 'onNavigationItemSelected(MenuItem item)' – Leo
からオブジェクト 'fragmentB'にアクセスできます。mFragment.isAdded()を試しましたが、動作していません –