在android中替换片段时addToBackstack不工作

在android中替换片段时addToBackstack不工作,android,android-fragments,Android,Android Fragments,我读了关于这个主题的文章,但它仍然不起作用 这是我在onCreate方法中的代码 if (savedInstanceState==null){ WeatherFragment weatherFragment = (WeatherFragment) Fragment.instantiate(this, WeatherFragment.class.getName()); FragmentTransaction fragmentTransaction = getF

我读了关于这个主题的文章,但它仍然不起作用

这是我在onCreate方法中的代码

   if (savedInstanceState==null){
        WeatherFragment weatherFragment = (WeatherFragment) Fragment.instantiate(this, WeatherFragment.class.getName());
        FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();

        fragmentTransaction.add(R.id.container_small, weatherFragment);
        fragmentTransaction.commit();
    }
然后我替换片段

        FrameLayout fl;
        if (findViewById(R.id.container2) != null)
            fl = (FrameLayout) findViewById(R.id.container2);
        else
            fl = (FrameLayout) findViewById(R.id.container_small);


        SettingsFragment settingsFragment = (SettingsFragment) Fragment.instantiate(this, SettingsFragment.class.getName());
        FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();

        fragmentTransaction.replace(R.id.container_small, settingsFragment);
        fragmentTransaction.addToBackStack(null);
        fragmentTransaction.commit();
现在我按下backbutton,应用程序不会返回到第一个片段

        FrameLayout fl;
        if (findViewById(R.id.container2) != null)
            fl = (FrameLayout) findViewById(R.id.container2);
        else
            fl = (FrameLayout) findViewById(R.id.container_small);


        SettingsFragment settingsFragment = (SettingsFragment) Fragment.instantiate(this, SettingsFragment.class.getName());
        FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();

        fragmentTransaction.replace(R.id.container_small, settingsFragment);
        fragmentTransaction.addToBackStack(null);
        fragmentTransaction.commit();
知道为什么吗

@Override
public void onBackPressed() {
    // TODO Auto-generated method stub

    if(getFragmentManager().getBackStackEntryCount()!=0)
    getFragmentManager().popBackStack();
    else
}

你需要重写onBackPressed()方法

当你按下后退按钮时会发生什么?应用程序不会返回到上一个片段。(就我而言,这里是天气片段)谢谢。它起作用了。我想用“addToBackStack”方法解决这个问题。因为这是android开发者网站推荐的。