-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);
난 정말 모르겠어요. 어떤 아이디어?
귀하의 camera_take xml 파일을 게시하십시오. – njzk2
combineImages는 언제 호출됩니까? – njzk2
이미 해답이 있습니다 만, 말하자면 .. 만약 어떤 객체의 메소드를 호출하는 라인에서 널 포인터 예외를 얻는다면,이 경우 객체 merge에서 setDrawingCacheEnabled()를 호출하면 객체를 의미합니다 null이고 null 객체에 대한 메서드를 호출 할 수 없으므로 Null Pointer Exception을 얻습니다. 이러한 종류의 오류는 오류 스택 추적을 사용하여 해석 할 수 있습니다. – spiderman