1

Android 액세 스 화면 방향을 처리하기 위해 내 Activity 중 하나에서 onRetainNonConfigurationInstance()를 구현했습니다. 코드는 다음과 같습니다.Android : onRetainNonConfigurationInstance가 화면 방향 변경시 호출되지 않습니다.

@Override 
    public Object onRetainNonConfigurationInstance() { 
    Log.d("[DEBUG]", "onRetainNonConfigurationInstance : " 
     + this.getClass().getName()); 
    MyState state = new MyState(); 

    return state; 
    } 

다음 앱을 Android 기기에 설치했습니다. 메소드가 호출되지 않습니다()

Device : Samsung Nexus S 
Android version : 4.0.4 
Kernel version : [email protected] #1 

나는 화면 방향을 변경하여 전화 응용 프로그램을 디버깅, 내 onRetainNonConfigurationInstance 다음은 구성이다.

심지어 이상한, 내 활동의 onCreate() 방법에 로그 라인을 추가했습니다. 문서에 따르면 안드로이드는 화면 방향이 바뀔 때 활동을 다시 만들어야한다고합니다. 여기

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.mylist); 
    Log.d(Constants.LOG_TAG, "Oncreate : " + this.getClass().getName()); 
} 

단, 에서 onCreate() 나는 장치에 화면 방향을 변경할 때 방법 를 호출되지 않습니다 : 그래서 나는 다음과 같은 일을합니다.

guyz는 이미이 문제를 경험해 봤습니까?

문서에서이 메소드는 더 이상 사용되지 않으며 그 대신에 단편과 관련된 무언가를 사용해야한다고 말합니다.이 메소드가 호출되지 않은 이유가 될 수 있습니까?

실제로, 나는 2.3.3 3.0 장치를 구현하고 있지만 내 테스트 장치는 4.0.4 : 그것은 문제가 될 수 있을까? Android OS 버전간에 몇 가지 종류의 이전 버전과의 호환성이 있다고 생각했습니다. 사전에

덕분에,

+0

매니페스트 파일을 공유하십시오. – AndroDev

답변

2

당신은 아마 android:configChanges는 따라서 onCreate 메소드가 호출되지 않습니다 당신이 방향을 처리 할 says 자신을 변경 활동에 대한 매니페스트 파일에 orientation 선언합니다.