2014-02-14 63 views
-1

我一直在試圖將兩個圖像視圖合併在一起以保存爲一個圖像,但我得到了這個遠,但是現在我得到一個錯誤。獲取錯誤,但不知道爲什麼

private View merge; 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.camera_take); 
     merge = (View) findViewById(R.layout.camera_take); 
    } 

    public Bitmap combineImages(ImageView picPreview, ImageView spunkOverlay) { 
     Bitmap cs = null; 
     merge.setDrawingCacheEnabled(true); 
     merge.buildDrawingCache(true); 
     cs = Bitmap.createBitmap(merge.getDrawingCache()); 
     Canvas canvas = new Canvas(cs); 
     merge.draw(canvas); 
     canvas.save(); 
     merge.setDrawingCacheEnabled(false); 

     return cs; 
    } 

的錯誤是:

02-14 20:09:47.943: E/AndroidRuntime(8450): FATAL EXCEPTION: main 
02-14 20:09:47.943: E/AndroidRuntime(8450): java.lang.NullPointerException 
02-14 20:09:47.943: E/AndroidRuntime(8450):  at  com.test.test.Camera.combineImages(Camera.java:170) 

線170是:

merge.setDrawingCacheEnabled(true); 

我真的不知道我要去哪裏錯在這裏。有任何想法嗎?

+0

發佈您的camera_take xml文件。 – njzk2

+0

當combineImages被調用? – njzk2

+0

已經有答案了,但只是提到..如果你在任何對象上調用一個方法的行上得到一個空指針異常,在這種情況下在對象merge上調用'setDrawingCacheEnabled()',這意味着對象爲null,並且您無法在空對象上調用任何方法,因此您將得到空指針異常。這些類型的錯誤可以使用錯誤堆棧跟蹤進行解釋。 – spiderman

回答

0

合併爲空。你的ID有錯,你不應該搜索佈局ID,而是查看ID。

0

我猜問題是在這裏:

merge = (View) findViewById (R.layout.camera_take); 

你一定是返回什麼?

相關問題