当我回顾一个项目的旧代码时,我意识到整个项目正在使用FragmentTransaction.replace而不是FragmentTransaction.add.
public class UpgradePremiumFragmentActivity extends SherlockFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
if (savedInstanceState == null) {
UpgradePremiumFragment upgradePremiumFragment = UpgradePremiumFragment.newInstance();
getSupportFragmentManager().beginTransaction().replace(R.id.content, upgradePremiumFragment).commitAllowingStateLoss();
} else {
}
}
我想知道,在上述情况下是否有任何理由使用replace而不是?add因为savedInstanceState是空的,所以不应该有一个旧的片段来替换。