Java 获取错误但不';我不知道为什么
我一直在尝试将两个图像视图合并在一起以保存为一个图像,我已经做到了这一点,但是我现在遇到了一个错误Java 获取错误但不';我不知道为什么,java,android,eclipse,imageview,Java,Android,Eclipse,Imageview,我一直在尝试将两个图像视图合并在一起以保存为一个图像,我已经做到了这一点,但是我现在遇到了一个错误 private View merge; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.camera_take); merge = (View) findViewB
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);
我真的不知道我在哪里出了问题。有什么想法吗?合并为空。id错误,不应该搜索布局id,而应该搜索视图id。我猜问题出在这里:
merge = (View) findViewById (R.layout.camera_take);
您确定返回了什么吗?发布您的照相机\u take xml文件。何时调用combineImages?已经有答案了,但仅提一下。。如果在调用任何对象上的方法的行上获得空指针异常,在本例中,调用对象上的
setDrawingCacheEnabled()
,这意味着该对象为空,并且不能调用空对象上的任何方法,因此获得空指针异常。这些类型的错误可以使用错误堆栈跟踪来解释。好吧,我给了我的xml一个id,并使用该id找到了视图,但是xml中的所有ImageView都被折叠并保存到一个而不是两个组合图中。