2012-09-30 4 views
1

Google 사례에 따르면 here 파편을 기반으로 앱을 개발했습니다.Android : 방향 변경에 문제를 일으키는 조각

내 주요 활동에는 제목의 목록 조각이 포함되어 있으며 가로 모드로 작성된 경우 세부 정보 조각이 포함되어 있습니다. 앱이 세로 모드로 시작되는 경우 기본 액티비티에는 listfragment 만 포함되며, 목록 항목을 클릭하면 detailsfragment를 보여주는 새로운 액티비티가 시작됩니다.

세로 모드 또는 가로 모드로 유지하면 모든 것이 정상적으로 작동합니다. 그러나 방향을 바꾸 자마자 여러 문제가 발생합니다.

첫 번째 문제 : 세로 모드에서 시작한 다음 가로 모드로 변경하면 액티비티 스택에 두 번 추가되고 내 앱을 닫으려면 뒤로 버튼을 두 번 눌러야합니다. 나는 이미지를 기울이지 않는다. 구글이 이것을 원한다. 그래서 이것을 피하는 방법은 무엇인가?

가로 모드에서 세로 모드로 변경하면 목록이 표시되고 현재 선택된 항목이있는 세부 정보 조각이 표시되지 않습니다. 따라서 내 detailsfragment의 모든 사용자 입력이 손실됩니다. 이것은 성가신 일이며 나는 이것을 어떻게 처리해야할지 모른다. 모든 활동에서 오리엔테이션 변경을 프로그래밍 방식으로주의해야합니까?

3 문제 : 내가 가로 모드 N 세부 사항 사이를 전환 할 때, 최대한 빨리 세로 모드로 변경할 때, 나는 조각에있는 나의 추가를 닫으려면 뒤로 버튼을 N 번 눌러야합니다 백 스택 (더 이상 보이지 않지만). 오리엔테이션 변경에서 백 스택을 직접 청소해야합니까?

+0

사용한 코드를 보지 않고는 아무도 도움을받을 수 없습니다. – Luksprog

+0

내가 사용한 코드는 Google 예제에서 볼 수 있습니다. – zersaegen

답변

-1

활동에 대해서는 한 가지가 있습니다. 즉, 오리엔테이션을 변경하면 다음 작업을 수행하지 않는 한 활동이 다시 시작됩니다.

- 먼저 매니페스트 (활동 태그 내부)에이를 추가하여 애플리케이션에서 수행 할 작업을 알릴 수 있습니다. 방향을 바꾼 경우 :

android:configChanges="orientation" 

- 둘째, 방향이 변경 될 경우를 대비하여 다음과 같은 방법을 구현하십시오. 그렇지 않은 경우 사용자가 데이터를 잃어 버리지 않습니다.

onOrientationChanged (int orientation) 
+0

이것은 좋은 해결책이 아니며 많은 경우에 실제로 중요한 구성 변경을 방해합니다. 다른 더 나은 해결책이 있습니다. – afollestad

+0

@afollestad : 해결책을 제공해 줄 수 있습니까? 나는 그것을 찾고있다. 감사. –

+0

@JamesDo는 onSaveInstanceState (Bundle)을 사용하고 onCreate (Bundle)에서 번들을 검색합니다. – afollestad

관련 문제