您的位置:首页 > 其它

Fragment 嵌套Fragment时,用getChildFragmentManager()

2016-02-15 14:27 465 查看




CFragment界面的布局是: (CFragment extends Fragment)

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/projectContent"
android:layout_width="match_parent"
android:layout_height="match_parent">

</FrameLayout>

在onStart()方法里,给出判断

@Override
public void onStart() {
    super.onStart();

    if (UserCenter.getIns().getUser().getHasProject() == 0) {
        showWeibaomingFragment(); //显示AFragment
    } else if(UserCenter.getIns().getUser().getHasProject() == 1) {
        showProjectFragment();    //显示BFragment
    }
}

private void showWeibaomingFragment() {
    FragmentManager fragmentManager = getChildFragmentManager();
    Fragment fragment = fragmentManager
            .findFragmentByTag(TAG_WEIBAOMING);
    if (null == fragment) {
        fragment = new WeiBMProjectFragment();
        fragmentManager
                .beginTransaction()
                .replace(R.id.projectContent, fragment,
                        TAG_WEIBAOMING).commit();
    }

}

private void showProjectFragment() {
    FragmentManager fragmentManager = getChildFragmentManager();
    Fragment fragment = fragmentManager
            .findFragmentByTag(TAG_PROJET);
    if (null == fragment) {
        fragment = new PersonalProjectMainFragment();
        fragmentManager
                .beginTransaction()
                .replace(R.id.projectContent, fragment,
                        TAG_PROJET).commit();
    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: