解决方案 »

  1.   

    你引入的fragmentmanager好像不对
      

  2.   

    /**
     * Fragment切换方法
     * 
     * @Date 2014-3-7
     * @param hideFragment 要隐藏的Fragment 可以为null
     * @param startFragment 要启动的Fragment
     * @return void
     */
    public  void addFragmentContainer(Fragment hideFragment,Fragment startFragment) {
    if (contentFragment != null) {
    //当前Fragment与启动发Fragment一致不执行任何操作
    if (contentFragment.getClass().getName().equals(startFragment.getClass().getName())) {
    return;
    }
    }
    //记录当前Fragment
    contentFragment = startFragment;
    //开启一个事物
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    String tagKey = startFragment.getClass().getName();
    //不为空的话隐藏
    if (hideFragment != null) {
    transaction.hide(hideFragment);
    }
    //已经添加的话显示
    if (startFragment.isAdded()) {
    transaction.show(startFragment);
    //第一次添加,并保存tagKey(Fragment类名),可以用getSupportFragmentManager()直接根据tagKey名取出该Fragment进行操作
    } else {
    transaction.add(R.id.container, startFragment, tagKey);
    }
    transaction.commitAllowingStateLoss();
    }
    给你看下我写的这个方法,你就知道哪里错了