Android FragmentManager管理器 封装方法

    xiaoxiao2022-07-07  219

    private void setFragment(int index) { //获取Fragment管理器 FragmentManager mFragmentManager = getSupportFragmentManager(); //开启事务 FragmentTransaction mTransaction = mFragmentManager.beginTransaction(); //隐藏所有Fragment hideFragments(mTransaction); switch (index) { default: break; case 0: //显示对应Fragment if (fragmentA == null) { fragmentA = new FragmentA(); mTransaction.add(R.id.ll_fragment, fragmentA, "fragment_A"); } else { mTransaction.show(fragmentA); } break; case 1: if (fragmentB == null) { fragmentB = new FragmentB(); mTransaction.add(R.id.ll_fragment, fragmentB, "fragment_B"); } else { mTransaction.show(fragmentB); } break; case 2: if (fragmentC == null) { fragmentC = new FragmentC(); mTransaction.add(R.id.ll_fragment, fragmentC, "fragment_C"); } else { mTransaction.show(fragmentC); } break; } //提交事务 mTransaction.commit(); } private void hideFragments(FragmentTransaction transaction) { if (fragmentA != null) { //隐藏Fragment transaction.hide(fragmentA); } if (fragmentB != null) { transaction.hide(fragmentB); } if (fragmentC != null) { transaction.hide(fragmentC); } }

    封装的方法,在点击事件调用setFragment(), 传入下标,在对应的case下,处理就可以

    最新回复(0)