FragmentManager的使用
静态:
xml
name:直接引用fragment的全类名
<androidx.fragment.app.FragmentContainerView
android:id="@+id/toolbarFragment"
android:name="com.example.musicprotectedmvvmf.ui.main.toolbar.ToolbarFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
动态:
xml
<androidx.fragment.app.FragmentContainerView
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
代码:
private Fragment mFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mFragment = getSupportFragmentManager().getPrimaryNavigationFragment();
private void onTabChanged(String id) {
Fragment fragment;
switch (id) {
case MainViewConstant.TAB_FIND:
fragment = new FindFragment();
break;
default:
fragment = new MineFragment();
break;
}
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
if (mFragment != null) {
transaction.hide(mFragment);
}
if (!fragment.isAdded()) {
transaction.add(R.id.fragment_container, fragment);
}
transaction.setPrimaryNavigationFragment(fragment);
transaction.show(fragment);
transaction.commit();