无法找出错误原因java.lang.NullPointerException
为什么有时这段代码会抛出错误,而有时不会无法找出错误原因java.lang.NullPointerException,java,android,nullpointerexception,Java,Android,Nullpointerexception,为什么有时这段代码会抛出错误,而有时不会 if ( getActivity().getApplicationContext() != null ){ File file = new File(getActivity().getApplicationContext().getFilesDir() + "/img.jpg"); } 上面的代码在我的片段中 我的错误: java.lang.NullPointerException: Attempt to invoke virtual met
if ( getActivity().getApplicationContext() != null ){
File file = new File(getActivity().getApplicationContext().getFilesDir() + "/img.jpg"); }
上面的代码在我的片段中
我的错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.support.v4.app.FragmentActivity.getApplicationContext()' on a null object reference
如果在单独的AsyncTask或thread和activity中运行此任务,则启动此任务的活动将不再存在或处于活动状态。getActivity()可能返回null
所以,解决方案是将getActivity()的null检查与getActivity()一起添加。getApplicationContext() 如果在单独的异步任务或线程中运行此任务,则启动此任务或线程的活动将不再存在或处于活动状态。getActivity()可能返回null
所以,解决方案是将getActivity()的null检查与getActivity()一起添加。getApplicationContext() 可能没有任何活动。@ifly6好的,那么我如何防止这种情况发生?任何想法如果你想检查空值,可能会更改空值检查,崩溃是否已修复?是的,它似乎已修复@ramesh可能,没有活动。@ifly6好的,那么我如何防止这种情况发生?任何想法如果你想检查空值,可能会更改空值检查你的崩溃修复了吗?是的,似乎修复了@Ramesh+1这个答案通常是这样的。如果代码在构造函数中,而不是在生命周期中的onCreate或更高版本中,这也可能是很难用小代码示例来判断的。您能给我举一些示例来检查这一点吗?+1这个答案通常是这样的。如果代码在构造函数中,而不是在生命周期中的onCreate或更高版本中,这也可能是很难用小代码示例来判断的。您能给我举一些示例来检查这一点吗?