2014-04-23 5 views
0

간단히 설명하면 주 활동으로 비동기 작업이 시작됩니다.화면 방향 변경시 Android NullPointerException 변경

오리엔테이션 변경 onCreate()을 불러 오면 Async이 한 번 생성됩니다. 그래서 onPreExecute()에서 오리엔테이션을 잠그고 onPostExecute()에서 오리엔테이션 잠금을 해제합니다. 이 방법으로 Async 작업이 시작된 경우 다른 작업 인스턴스가 생성되지 않습니다.

다른 활동이 시작되었습니다. 주요 활동 자체에서 findViewById()은 무작위로 화면 방향을 계속 변경하면 null을 반환합니다. 5 ~ 6 번 시도하면 다시 생성됩니다.

어떻게 진행하나요? -------- 즉시 방향을

으로 변경되었습니다 당신에게

감사 도움

는 방법 또는 주 스레드의 종료 후 다시 전화를받을 onCreate()합니까 ... 아니면 순간입니다 ------- updated

<application 
     android:allowBackup="true" 
     android:icon="@drawable/ap_logo" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="agilepoint.android.mobilebpm.main.LoginActivity" 
      android:configChanges="orientation" 
      android:label="@string/app_name" 
      android:logo="@drawable/menu_button" 
      android:windowSoftInputMode="adjustPan|stateHidden" 
      > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
      <intent-filter> 
       <action android:name="android.intent.action.VIEW" /> 

       <data android:scheme="http" /> 
      </intent-filter> 
     </activity> 
</application> 
+0

모든 코드가 문제를 진단하는 데 유용합니다. –

+0

매니페스트 파일 및 오류 추적을 게시하십시오. –

+0

매니페스트에서 회전시 앱 재시작을 사용 중지 할 수도 있습니다. 또한 장기 실행 작업은 서비스별로 처리 할 수 ​​있습니다. – atok

답변

5

...

android:configChanges="orientation" does not work with fragments

API의 수준 minSdkVersiontargetSdkVersion에 의해 선언 된 13 이상 (위해 개발할 때 방향 변경으로 인해 런타임 다시 시작을 방지하려면 특성)을 사용하려면 orientation 값 외에도 screenSize 값을 포함해야합니다. 즉, android:configChanges="orientation|screenSize"을 선언해야합니다.

0

매니페스트의 perticular 활동에 대해 android : configChanges = "orientation"을 추가하십시오. 내 솔루션을 찾을 수

+0

configChanges에서 방향 설정을 시도했지만 onConfigurationChanged()가 호출되지 않고 onCreate가 항상 호출되었습니다. – harshal

관련 문제