当我回顾一个项目的旧代码时,我意识到整个项目正在使用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
是空的,所以不应该有一个旧的片段来替换。