同じviewIdでフラグメントAとBのadd()を呼び出し、フラグメントCでそのviewIdのreplace()をコールしようとすると、フラグメントAのみが削除され、フラグメントBとCを使っています。ドキュメントによると、BOTH AとBはCで置き換えるべきです...または私は間違ったドキュメントを読んでいますか?フラグメントreplace()すべてのフラグメントを置換しない
はここでこれを行う1つの組み合わせです:
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();
}
});
}
}
コードを表示できますか? –
ありがとうございました。スニペットを追加しました。 –