如果我用相同的viewId为片段A和B调用add(),然后尝试使用片段C在该viewId上调用replace(),那么只有片段A被删除,最终剩下了片段B和C。根据文档,应该同时用C替换A和B...或者我读错了文档?以下是一种执行此操作的组合:
public class FragmentActivity extends SherlockFragmentActivity {
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getSupportFragmentManager().beginTransaction().add(R.id.fragment, new FragmentA()).add(R.id.fragment, new FragmentB()).commit();
((Button) findViewById(R.id.swap)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View view) {
getSupportFragmentManager().beginTransaction().replace(R.id.fragment, new FragmentC()).commit();
}
});
}
}