2016-01-20 46 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

這並沒有幫助我,因爲當我第一次加載對象時緩存正在部分工作。當我嘗試改變程序崩潰的視圖意圖時。 –

相關問題