2014-04-04 5 views
0

조각을 포함하는 주 활동이 있습니다. 홈 버튼을 누른 다음 내 앱을 다시 입력하면 내가 떠나지 않은 조각 백 스테이지를 복원하려고합니다. 이것이 가능합니까? 내가 할 수 있을까?오른쪽 조각으로 작업 복원

답변

0

질문을 잘 이해하지 못 하겠지만 이전 조각으로 돌아가고 싶다면 addToBackStack (null)을 사용해야합니다.

당신이 한 조각에 있다고 상상해 FragmentA을하고 라인 ft.addToBackStack (NULL)을 추가하지 않으면 당신은 조각 B

FragmentManager fm = getSupportFragmentManager(); 
    FragmentTransaction ft = fm.beginTransaction(); 

    ft.replace(R.id.fragments_container, fragment); 
    ft.setTransition(FragmentTransaction.TRANSIT_NONE); 

     ft.addToBackStack(null); 

    ft.commit(); 

에 전화 할 때 사용자의 뒤로 버튼을 누릅니다에서 단편 B에서는 단편 A로 돌아 가지 않을 것입니다. 단,이 단락을 사용하면 단편 B에 전달하기 전에 단편 큐에 단편 A를 포함하게됩니다. 즉, 버튼을 누르면 조각 A로 돌아갑니다.

질문이 있으십니까?

+0

그렇지 않습니다. 내 질문은 : 내 애플 리케이션을 떠날 경우 (예를 들어, 홈 버튼을 누르면). 내 앱을 다시 입력 할 때 마지막으로 떠났을 때 보이는 부분을 보여주고 싶습니다. –

+0

예를 들어 홈 버튼을 누르면 응용 프로그램이 닫히지 않고 여전히 백그라운드에서 실행 중이므로 아무 것도 할 필요가 없습니다. 앱으로 돌아 왔을 때 어떤 조각이 있는지 기억할 것입니다 전에로드되었습니다. 다른 주제는 앱이 사용자를 위해 완전히 닫히거나 Android 시스템에 더 많은 리소스가 필요하고 앱을 종료하겠다는 결정을 내리는 경우입니다 (백그라운드 상태 였음). –

+0

그 경우에는 조각의 큐를 유지하는 네이티브 방식이 있는지 꽤 잘 모르겠지만 애플리케이션이 onClose 메서드를 호출 할 때 공유 환경 설정을 사용하여 조각의 큐를 저장하면됩니다. 앱이 다시 열리면 마지막 세션 조각을 대기열에 복원 할 수 있습니다. 어쨌든, 당신이 정말로이 작업을 할 필요가 없다고 생각합니다 ... 일반적으로 하나의 애플 리케이션이 닫히면, 메인 화면을 위해 열어야합니다. –

관련 문제