2016-01-20 44 views
0

-edit 2.在我的移动设备上按照预期测试此项。愚蠢的机器人avd尝试从缓存中接收图像时发生NullPointerException

我得到一个错误,我不太清楚如何解决它。我可以不需要缓存图像,但会增加应用程序所需的带宽。 我当前的代码应该工作,但它抛出一个NullPointerException 这里是错误

java.lang.NullPointerException: Attempt to invoke virtual method 'java.io.File android.content.Context.getCacheDir()' on a null object reference 
                          at android.content.ContextWrapper.getCacheDir(ContextWrapper.java:232) 
                          at com.program.programmy.application.FileCache.<init>(FileCache.java:18) 

,这是导致该问题的代码是一个由**线围绕18

public FileCache(Context context) { 
    // Find the dir to save cached images 
    if (android.os.Environment.getExternalStorageState().equals(
      android.os.Environment.MEDIA_MOUNTED)) 
     cacheDir = new File(
       android.os.Environment.getExternalStorageDirectory(), 
       "ParseListViewImgTxt"); 
    else 
     **cacheDir = context.getCacheDir();** 
    if (!cacheDir.exists()) 
     cacheDir.mkdirs(); 
} 

,如果有人可以帮助我的程序应该没有任何问题。欢呼声

- 编辑

这是只有当我试图离开列表意图看一个单一的对象。下面是从提示错误

view.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       Intent intent = new Intent(context, SingleItemView.class); 
       context.startActivity(intent); 
      } 
     }); 

另外这里是类似的链接区域,我感到除了没有人做的是有我很

+0

我会认为你没有在上下文上使用实例,看看你在哪里调用,'FileCache(上下文上下文)',看看你是如何gettting上下文,即'上下文环境= bla' –

回答

0

每当你的构造函数被调用的问题更多的代码,你不在上下文中发送任何对象。 上下文对象为空时发生异常,并且您正在调用getCacheDir()方法。

如果您在获取上下文对象时遇到问题。请阅读以下链接顶部投票答案: Static way to get 'Context' on Android?

+0

这并没有帮助我,因为当我第一次加载对象时缓存正在部分工作。当我尝试改变程序崩溃的视图意图时。 –

相关问题