当我执行 FileInputStream ifs=openFileInput(fileName);
行时,我得到一个 NPE。当我执行时,我得到相同的 NPE
FileInputStream ifs=getApplicationContext().openFileInput(fileName);
完整的堆栈跟踪在这里。
07-25 22:00:35.852 25063-25063/? E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NullPointerException
at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:109)
at com.ollien.flashcarder.MainActivity.setPagerFile(MainActivity.java:353)
at com.ollien.flashcarder.SetsFragment$1.onItemClick(SetsFragment.java:47)
at android.widget.AdapterView.performItemClick(AdapterView.java:298)
at android.widget.AbsListView.performItemClick(AbsListView.java:1215)
at android.widget.ListView.performItemClick(ListView.java:4506)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:2959)
at android.widget.AbsListView$1.run(AbsListView.java:3645)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:5751)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1083)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:850)
at dalvik.system.NativeStart.main(Native Method)
有人可以帮忙吗?我不太清楚为什么会发生这种情况。 fileName 不为空,并且等于“hi there.txt”
谢谢!
最佳答案
解决方案:
确保您的 Context 不为空,例如我通过函数参数传递它
public void setPagerFile(String fileName,Context mContext){
然后使用 mContext 作为您的上下文。
关于java - NullPointer 异常和 FileInputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17871780/