동일한 viewId를 사용하여 프래그먼트 A와 B에 대해 add()를 호출 한 다음 해당 프래그먼트 ID에서 replace()를 호출하려고하면 프래그먼트 A 만 제거되고 결국 종료됩니다 조각 B와 C와 함께. 문서에 따르면, 둘 다 A와 B는 C로 대체해야합니다 ... 아니면 내가 잘못 문서를 읽고 있습니까?프래그먼트 replace() 모든 프래그먼트를 대체하지 않음
가 여기에이 작업을 수행 한 조합이다 :
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();
}
});
}
}
코드를 표시 할 수 있습니까? –
감사합니다. 스 니펫을 추가했습니다. –