Android 응용 프로그램의 방향을 변경하면 onStop 메서드가 호출되고 onCreate가 호출됩니다. 오리엔테이션이 바뀌면 onStop과 onCreate를 피하는 법은 무엇입니까?Orientation이 변경되면 Onstop 메서드가 호출됩니다.
답변
이 질문이 활성화 된 지 오래되었지만, 나는 대답 할 필요가있다. 나는 같은 문제를 가지고 답을 찾았다.
매니페스트에 오리 엔테이션 변경시 기본 동작을 호출해서는 안되는 액티비티에 android:configChanges=orientation|screenLayout|layoutDirection
을 추가해야합니다.
...
<activity android:name=".Activity"
android:screenOrientation="portrait"
android:configChanges="orientation|screenLayout|layoutDirection|screenSize"
...
그리고 당신의 활동에
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// This overrides default action
}
원래 예 : 안드로이드를 호출하여 피할
http://android-er.blogspot.fi/2011/05/prevent-activity-restart-when-screen.html
시스템 콜백이라는 것을 피할 수는 없습니다. onStop에서 상태를 저장 한 다음 화면 방향이 변경된 후 더 빠른 상태 복구를 위해 onCreate로 시스템을 전달하도록 할 수 있습니다.
이 캔 : configChanges = "오리엔테이션 | keyboardHidden". 그러나 여전히 문제가 있습니다. – indira
글쎄, 오리 엔테이션 변경을 막을 수는 있지만 오리엔테이션이 바뀌면 (콜백 요청에 대한) 콜백 호출이되지 않습니다. –
더하기 heiko가 절대적으로 라이트이기 때문에 ... – Opiatefuchs
이것은 기본 동작입니다. 방향이 바뀌면 작업이 다시 생성됩니다. 그러나 당신은이 사건을 무시하기로 결정할 수 있습니다. 여기에서 세부 정보를 찾을 수 있습니다 : How to make an application ignore screen orientation change?
글쎄, 링크드 아티클의 기술은 오리엔테이션 변화 (콜백 요청이 무엇인지)가 변경되었을 때 콜백 호출을 방지하지 않을 것입니다. –
- 1. 조각 onStop()은 onStart() 직후에 호출됩니다. - 왜?
- 2. WebUserControl의 메서드가 여러 번 호출됩니다.
- 3. 외부 메서드를 호출하면 실제로 다른 메서드가 호출됩니다.
- 4. 스 와이프 메서드가 두 번 호출됩니다.
- 5. Tabhost 탭 onCreate 메서드가 두 번 호출됩니다.
- 6. 창 크기가 변경되면 WPF에서 메서드가 호출됩니까?
- 7. onStop 이벤트 처리
- 8. HttpModule Init 메서드가 여러 번 호출됩니다. 이유는 무엇입니까?
- 9. EditText 포커스 이벤트에서 ArrayAdapter의 getView() 메서드가 자동으로 호출됩니다.
- 10. C# : 오버로드 된 메서드에 null 전달 - 어떤 메서드가 호출됩니다?
- 11. 디버그 모드에서 실행될 때만 메서드가 내 TestMethod에서 호출됩니다.
- 12. 어떤 대리자 메서드가 장치 닫기 버튼을 클릭하는 동안 호출됩니다
- 13. onStop()으로 인해 강제 닫기
- 14. viewWill 한 번만 호출됩니다.
- 15. 단추 내용이 변경되면 Caliburn 명령이 작동하지 않습니다.
- 16. 환경 설정/ListPreference의 경우 onStop()과 비슷한가요?
- 17. 뒤로 버튼을 누르면 onStop()이 호출되지 않습니다.
- 18. Javascript 기능은 이벤트에서만 호출됩니다!
- 19. LocationListener가 여러 번 호출됩니다.
- 20. setter가 생성자보다 먼저 호출됩니다.
- 21. Destructor - 앱이 충돌하면 호출됩니다.
- 22. applicationWillTerminate가 충돌시 호출됩니다.
- 23. 두 스레드에서 WPF가 호출됩니다.
- 24. UITableView : cellForRowAtIndexPath가 계속 호출됩니다.
- 25. NSKeyedArchiver가 두 번 호출됩니다.
- 26. PHP 클래스는 함수로 호출됩니다.
- 27. 버튼 명령이 자동으로 호출됩니다
- 28. DependencyProperty 콜백 메서드가 호출되지 않았습니다.
- 29. mapViewDidFailLoadingMap 대리자 메서드가 오류 == 0과 함께 호출됩니다. 내 viewcontroller에서 MKMapView 개체를 만듭니다.
- 30. Control.PreferredSize가 변경되면 어떻게 감지합니까?
더 최근의 OS에도 "screenSize"를 추가해야했습니다. –
예, 기본적으로 오리엔테이션 변경과 관련되거나 발생할 수있는 매개 변수를 추가하십시오. –
@ 잭 : 네, 그게 작동하지 않는다면 .... – Opiatefuchs