2013-08-20 49 views
-2

我的應用程序中有五個選項卡,分別爲A,B,C,D和E.My問題是應用程序停止,同時將選項卡從B更改爲任何其他選項卡並將設備旋轉到風景模式或肖像模式。應用程序在Android設備上旋轉時停止

錯誤日誌是

11月8日至22日:27:22.835:E/AndroidRuntime(5992):致命異常:主 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):at 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):at 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):at android.os.Looper.loop(Looper.java:137) 08-22 11:27:22.835 :E/AndroidRuntime(5992):at android.app.ActivityThread.main(ActivityThread.java:4424) 08-22 11:27:22.835:E/AndroidRuntime(5992):at java.lang.reflect.Method.invokeNative (Native Method) 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):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:784) 08-22 11:27:22.835: E/AndroidRuntime(5992):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 08-22 11:27:22.835:E/AndroidRuntime(5992):at dalvik.system.NativeStart。 main(Native Method) 08-22 11:27:22.835:E/AndroidRuntime(5992):導致:java.lang.NullPointerException 08-22 11:27:22.835:E/AndroidRuntime(5992):at com。在Android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1468)上的E/AndroidRuntime(5992):nv.netmdapp1.ScheduleDailyView.onActivityCreated(ScheduleDailyView.java:89) 08-22 11:27:22.835:

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);

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時,該部分是executed.But同時旋轉該裝置控制前進到標籤B. 這裏空指針異常發生線的ScheduleDailyView.java:89與標籤B相關聯onActivityCreated() 。但是當旋轉設備控制從標籤C和D到這個文件。什麼原因?

+0

給我們一些代碼。您有NPE ScheduleDailyView.java:89 –

+0

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

+0

原因是NullPointerException。某些對象爲null,您嘗試使用他。 – 2013-08-20 11:31:08

回答

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) 

檢查什麼是空在這裏,你也能避免重新啓動活動通過處理配置更改來旋轉。

2

在Android清單中添加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> 

希望對您有所幫助..

相關問題