1、新建FragMent JAVA文件

android FragMent使用笔记


2、onCreate中

mFragmentManager = getFragmentManager();
//先初始化所有Fargment 第一次启动时选中第0tab
setTabSelection(0);
setTabSelection(1);
setTabSelection(2);
setTabSelection(0);

private void setTabSelection(int index) {
    //clearSelection();

    // 开启一个Fragment事务
    FragmentTransaction transaction = mFragmentManager.beginTransaction();
    // 先隐藏掉所有的Fragment,以防止有多个Fragment显示在界面上的情况
    hideFragments(transaction);
    switch (index){
        case 0:
            if (mstandardFragment == null) {
                // 如果MessageFragment为空,则创建一个并添加到界面上
                mstandardFragment = new standardFragment();
                transaction.add(R.id.content,mstandardFragment);
            } else {
                // 如果MessageFragment不为空,则直接将它显示出来
                transaction.show(mstandardFragment);
            }

        break;


        case 1:
            if (mProfessionalFragment == null) {
                // 如果MessageFragment为空,则创建一个并添加到界面上
                mProfessionalFragment = new ProfessionalFragment();
                transaction.add(R.id.content, mProfessionalFragment);
            } else {
                // 如果MessageFragment不为空,则直接将它显示出来
                transaction.show(mProfessionalFragment);
            }
            break;

        case 2:
            if (mComprehensiveFragment == null) {
                // 如果MessageFragment为空,则创建一个并添加到界面上
                mComprehensiveFragment = new ComprehensiveFragment();
                transaction.add(R.id.content, mComprehensiveFragment);
            } else {
                // 如果MessageFragment不为空,则直接将它显示出来
                transaction.show(mComprehensiveFragment);
            }
            break;
    }

    transaction.commit();
}
重要的是设置完就需要
transaction.commit();
之前调试忘记这句然后就是显示不出来

相关文章: