>Java >java지도 시간 >내 Android 활동 그룹에서 내 조각이 서로 대체되지 않는 이유는 무엇입니까?

내 Android 활동 그룹에서 내 조각이 서로 대체되지 않는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-25 06:20:15591검색

Why Aren't My Fragments Replacing Each Other in My Android Activity Group?

액티비티 그룹 내 프래그먼트 교체

Android 프래그먼트 프레임워크에 익숙하지 않은 경우 액티비티 그룹 내 프래그먼트 교체는 복잡한 작업이 될 수 있습니다. .

문제

액티비티 그룹 내의 프래그먼트를 다른 프래그먼트로 교체하려고 하면 코드가 성공적으로 실행되는 것처럼 보이지만 시각적 변화가 발생하지 않는 상황이 발생할 수 있습니다. 예외 메시지가 표시되지 않으므로 당황스러울 수 있습니다.

해결 방법

문제는 XML로 하드 코딩된 조각을 교체할 수 없다는 사실에서 발생합니다. 대신, 교체를 허용하려면 프래그먼트를 동적으로 추가해야 합니다.

프래그먼트를 동적으로 추가 및 교체하려면:

  1. 저장할 활동에 레이아웃이나 컨테이너(예: 조각_컨테이너)를 만듭니다.
  2. 새 조각 인스턴스를 생성합니다.
  3. 다음을 사용하여 FragmentTransaction을 생성합니다. getSupportFragmentManager().
  4. fragment_container의 현재 조각을 새 조각으로 바꾸려면 transaction.replace()를 사용합니다.
  5. transaction.addToBackStack(null)을 사용하여 백 스택에 트랜잭션을 추가합니다. 원합니다.
  6. 다음을 사용하여 트랜잭션을 커밋합니다. transaction.commit().

예제 코드

Fragment newFragment = new ExampleFragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);
transaction.commit();

참고:

  • 조각 XML 레이아웃을 통해 추가된 것은 교체되었습니다.
  • R.id.fragment_container는 활동의 적절한 레이아웃이나 컨테이너일 수 있습니다.

위 내용은 내 Android 활동 그룹에서 내 조각이 서로 대체되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.