2017-03-09 76 views
-4

這是我的代碼: http://pastebin.com/kGZY0h88嘗試一個空對象上調用虛擬方法 'java.io.FileOutputStream中android.content.Context.openFileOutput(java.lang.String中,INT)'

http://pastebin.com/Y0JNYjEd

每次我嘗試使用函數writeAll(ArrayList liste)保存某些內容時,應用程序崩潰。這裏是日誌:

`E/AndroidRuntime: FATAL EXCEPTION: main 
        Process: com.example.naabi.listeserie, PID: 3459 
        java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.FileOutputStream android.content.Context.openFileOutput(java.lang.String, int)' on a null object reference 
         at com.example.naabi.listeserie.dao.SerialisationSerieDAO.writeAll(SerialisationSerieDAO.java:58) 
         at com.example.naabi.listeserie.descriptionMrRobot.onSaveInstanceState(descriptionMrRobot.java:260) 
         at android.app.Activity.performSaveInstanceState(Activity.java:1414) 
         at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1300) 
         at android.app.ActivityThread.callCallActivityOnSaveInstanceState(ActivityThread.java:4541) 
         at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4492) 
         at android.app.ActivityThread.-wrap19(ActivityThread.java) 
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1483) 
         at android.os.Handler.dispatchMessage(Handler.java:102) 
         at android.os.Looper.loop(Looper.java:154) 
         at android.app.ActivityThread.main(ActivityThread.java:6119) 
         at java.lang.reflect.Method.invoke(Native Method) 
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)` 

我嘗試通過傾斜手機來使用該功能。

+1

請不要只連接到您的代碼異地。你需要在問題本身中包含[mcve]。 –

回答

0

SerialisationSerieDAO pojo不是一項活動。因此您的上下文(contexte)這個案例從未初始化。使用mutator來設置上下文,或者在構造函數中傳遞一個上下文。

+0

感謝您的快速回答,你是什麼意思的增變器? Serie的構造函數應該看起來像這樣嗎? public Serie(ArrayList listeSaisons,ArrayList listeActeur,String id,String nomImage,String description,String nom,Context contexte) –

+0

只是一個普通的setter函數。 – Remario

+0

將上下文傳遞給構造函數 – Remario

相關問題