2014-02-14 5 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이고 null 객체에 대한 메서드를 호출 할 수 없으므로 Null Pointer Exception을 얻습니다. 이러한 종류의 오류는 오류 스택 추적을 사용하여 해석 할 수 있습니다. – spiderman

답변

0

병합이 null입니다. ID가 잘못되었으므로 레이아웃 ID는 아니지만 뷰 ID를 검색해야합니다. 나는이 문제를 추측하고있어

0

은 여기에 있습니다 :

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

당신은 아무것도 반환되는 특정 있습니까?

관련 문제