2013-08-20 5 views
-2

내 응용 프로그램에서 5 개의 탭에 A, B, C, D 및 E.라고 쓰여 있습니다. 내 문제는 응용 프로그램이 B에서 다른 탭으로 변경하고 장치를 가로 방향으로 돌리는 동안 모드 또는 인물 모드. 27 : 22.835 : E가/AndroidRuntime (5992) FATAL EXCEPTION : 메인 11월 8일에서 22일까지 :응용 프로그램이 안드로이드 장치를 회전하는 동안 중지되었습니다.

오류 로그

11월 8일부터 22일까지 27 : 22.835 : E/AndroidRuntime (5992) : java.lang.RuntimeException : 활동을 시작할 수 없습니다. ComponentInfo {com.nv.netmdapp1/com.nv.netmdapp1.Home} : java.lang.NullPointerException 08-22 11 : 27 : 22.835 : E/AndroidRuntime (5992) : at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1956) 08-22 11 : 27 : 22.835 : E/AndroidRuntime (5992) : android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:1981) 08-22 11 : 27 : 22.835 : E/AndroidRuntime (5992) : android.app.Acti에서 vityThread.handleRelaunchActivity (ActivityThread.java:3351) 08-22 11 : 27 : 22.835 : E/AndroidRuntime (5992) : android.app.ActivityThread.access $ (700) (ActivityThread.java:123) 08-22 11시 27분에서 : 22.835 : E/AndroidRuntime (5992) : android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1151) 08-22 11 : 27 : 22.835 : E/AndroidRuntime (5992) : android.os.Handler .dispatchMessage (Handler.java:99) 08-22 11 : 27 : 22.835 : E/AndroidRuntime (5992) android.os.Looper.loop (Looper.java:137)에서 08-22 11 : 27 : 22.835 : E/AndroidRuntime (5992) : android.app.ActivityThread.main (ActivityThread.java:4424) 08-22 11 : 27 : 22.835 : E/AndroidRuntime (5992) : java.lang.reflect.Method.invokeNative에서 (네이티브 메소드) 08-22 11 : 27 : 22.835 : E/AndroidRuntime (5992) : java.lang.reflect.Method.invoke (Method.java:5) 11) 08-22 11 : 27 : 22.835 : E/AndroidRuntime (5992) : com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:784) 08-22 11 : 27 : 22.835 : E/AndroidRuntime (5992) : com.android.internal.os.ZygoteInit.main (ZygoteInit.java:551) 08-22 11 : 27 : 22.835 : E/AndroidRuntime (5992) : dalvik.system.NativeStart. 주 (기본 방법) 11월 8일에서 22일까지 : 27 : 22.835 : E/AndroidRuntime (5992)에 의해 발생 : java.lang.NullPointerException이 11월 8일부터 22일까지 : 27 : 22.835 : E/AndroidRuntime (5992) : COM에서. nv.netmdapp1.ScheduleDailyView.onActivityCreated (ScheduleDailyView.java:89) 11월 8일에서 22일까지 : 27 : 22.835 : E/AndroidRuntime (5992) android.support.v4.app.Fragment.performActivityCreated (Fragment.java:1468)에서

Java 코드는 아래와 같습니다.

공개 공극 onActivityCreated (번들은 savedInstanceState) {// TODO 자동 생성 방법 super.onActivityCreated (savedInstanceState)를 스터브; dailyFragment = (SherlockFragment) Fragment.instantiate (appContext, AppointmentDailyView.class.getName(), arguments); weeklyFragment = (SherlockFragment) Fragment.instantiate (appContext, AppointmentWeeklyView.class.getName(), arguments); 탭 C를 클릭하면 디바이스 제어부 회전하는 ScheduleDailyView.java:89하기 표 B와 연관된 탭 B. 여기서 널 포인터 예외 발생 선의 onActivityCreated()로 진행하면서

FragmentTransaction ft = getFragmentManager().beginTransaction(); 
    Fragment lastFrag = getFragmentManager().findFragmentByTag("appointmentFrag"); 
    if(lastFrag!=null) 
     ft.remove(lastFrag); 
    ft.replace(R.id.ll_appointment_layout, dailyFragment); 
    ft.commit(); 
} 
@Override 
public void onClick(View view) 
{ 
    FragmentTransaction ft = getFragmentManager().beginTransaction(); 
    Fragment lastFrag = getFragmentManager().findFragmentByTag("appointmentFrag"); 
    if(lastFrag!=null) 
     ft.remove(lastFrag); 
    if(view==btnDaily) 
     ft.replace(R.id.ll_appointment_layout, dailyFragment); 
    else 
     ft.replace(R.id.ll_appointment_layout, weeklyFragment); 
    ft.commit(); 
} 

이 제품은 사형이고 하지만 장치 컨트롤을 회전하는 동안 C 및 D 탭에서이 파일로 이동합니다. 이유가 무엇입니까?장치를 회전

+0

우리에게 몇 가지 코드를 부여합니다. NPE ScheduleDailyView.java:89 –

+0

com.nv.netmdapp1.ScheduleDailyView.onActivityCreated (ScheduleDailyView.java:89)의 NullPointerException –

+0

이유는 NullPointerException입니다. 어떤 객체는 null이고 당신은 그를 사용하려고 시도합니다. –

답변

0

는 다시 응용 프로그램을 다시 시작 :

OnActivityCreated 방법이 호출되고 여기에 널 포인터 예외를 받고 :

Caused by: java.lang.NullPointerException 
08-20 16:54:43.319: E/AndroidRuntime(5646):  at com.nv.netmdapp1.ScheduleDailyView.onActivityCreated(ScheduleDailyView.java:89) 

확인 여기에 널 (null)이 무엇인지, 또한 당신은 당신의 활동을 다시 시작하지 않으 수 있습니다 구성 변경을 처리하여 순환 게재.

2

안드로이드 매니페스트에 android:configChanges="orientation"을 추가하면 응용 프로그램에서 방향 변경 이벤트를 처리합니다.

매니페스트 : 당신

<activity 
     android:name=".MainActivity" 
     android:label="@string/title_activity_main" 
     android:configChanges="orientation" 
     > 

     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

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

희망 도움이 ..

관련 문제