내 응용 프로그램 중 하나에서 조각을 사용하는 데 문제가 있습니다. 앱은 일부 버튼을 누를 때 콘텐츠 조각이 대체되는 하나의 기본 프레임으로 구성됩니다 (탭 모양의 레이아웃으로 생각할 수 있음). 지금까지 모든 것이 정상적으로 작동하지만 프래그먼트를 전환 한 후에 프래그먼트 프레임의 전체 내용이 사라지는 경우가 있습니다. 이 문제를 해결하는 한 가지 방법은 앱을 배경으로 가져 오려면 앱 전환 버튼을 누른 다음 앱을 다시 포 그라운드로 다시 가져 오는 것입니다. 이것은 화면을 다시 그리는 것으로 보이며 다시 조각을 볼 수 있습니다.조각이 사라짐
뷰 계층 구조 덤프는 화면에서 볼 수있는 것과 동일합니다. 따라서 버그가 발생하면 조각 프레임이 비어 있지만 디버그 모드에서 레이아웃을 확인할 때 모든 것이 예상대로 작동합니다. 파편과 뷰는 올바르게 바뀌지 만 디스플레이에는 표시되지 않습니다.
이미 (표시/숨기기, 바꾸기, 추가/제거) 조각을 관리하는 여러 가지 방법을 시도해 보았습니다. 전체보기 트리를 숨기고 표시하거나 무효화하고 하드웨어 가속을 사용하지 않도록 설정했지만 해결 방법을 시도했지만 항상 동일하게 사용했습니다 결과.
편집 : requestet 일부 코드 예 제가 동일한 결과 단편을 숨기고/우선 단편을 첨가하고 도시 시도 현재 versionbut 경우 :
MainActivity의하지 OnCreate 첫번째 조각 추가는 (확장 FragmentActivity) :
final FragmentTransaction tx = getSupportFragmentManager().beginTransaction();
tx.add(R.id.tabContent, new MyFirstTab());
tx.commit();
변경 조각 (UI 스레드에서 호출 할 수 보장) :
private void changeTab(final Fragment tab) {
FragmentManager fm = getSupportFragmentManager();
final FragmentTransaction tx = fm.beginTransaction();
tx.replace(R.id.tabContent, tab);
tx.commit();
}
,
일부 코드를 올리면 도움이 될 수 있습니다. :) – MartinHaTh
그것은 지금 고쳐 졌던 것처럼 보인다. .. 나는 그것을 내일 검증 할 것이다. 서비스 콜백에서 텍스트 필드를 업데이트하는 하위 구성 요소 중 하나에 조각이 있습니다. 이걸 제거한 후에 지금은 더 이상 사라지지 않는 전망을 얻었습니다 ... – Jan