액티비티 그룹 내에서 프래그먼트 작업을 할 때 한 프래그먼트를 다른 프래그먼트로 교체하면 문제가 발생할 수 있습니다. 이 문서는 프래그먼트 교체가 새 프래그먼트를 표시하지 못하는 문제를 해결하는 데 중점을 둡니다.
문제:
액티비티 그룹에서 프래그먼트를 교체하려고 할 때 다음을 사용합니다. 제공된 코드가 없으면 코드가 실행되지 않음에도 불구하고 새 조각이 표시되지 않습니다. 오류.
분석:
XML 레이아웃에 하드 코딩된 조각은 동적으로 교체할 수 없습니다. 프래그먼트를 교체하려면 동적으로 추가해야 합니다.
해결책:
이 문제를 해결하려면 하드 코딩에 의존하는 대신 프래그먼트를 동적으로 추가해야 합니다. XML 레이아웃. 다음 코드 조각은 프래그먼트를 동적으로 교체하는 방법을 보여줍니다.
// Create new fragment and transaction Fragment newFragment = new ExampleFragment(); FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); // Replace whatever is in the fragment_container view with this fragment, // and add the transaction to the back stack if needed transaction.replace(R.id.fragment_container, newFragment); transaction.addToBackStack(null); // Commit the transaction transaction.commit();
참고: R.id.fragment_container는 프래그먼트를 추가하는 활동에서 선택한 레이아웃 또는 컨테이너입니다.
이 접근 방식을 따르면 조각을 동적으로 교체할 수 있으므로 새 조각이 표시될 수 있습니다. 거래합니다.
위 내용은 활동 그룹에서 교체 후 새 조각이 표시되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!