protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
imageView.setImageBitmap(photo);
}
}在尝试从相机活动中保存图像时,在函数的最后一行,即imageView.setImageBitmap(photo);,我得到了以下错误
11-03 03:27:21.928: E/AndroidRuntime(27303): Caused by: java.lang.NullPointerException
11-03 03:27:21.928: E/AndroidRuntime(27303): at com.example.echelon.MainActivity.onActivityResult(MainActivity.java:37)
11-03 03:27:21.928: E/AndroidRuntime(27303): at android.app.Activity.dispatchActivityResult(Activity.java:5293)
11-03 03:27:21.928: E/AndroidRuntime(27303): at android.app.ActivityThread.deliverResults(ActivityThread.java:3443)
11-03 03:27:21.928: E/AndroidRuntime(27303): ... 11 more为了确保我的sid通过调试,我必须确保photo不是空的,并且包含数据,并在对象描述:android.graphics.Bitmap@414b2518中显示了这一点。
我还在here上发现三星设备中有一个bug,如果这个bug与三星操作系统有关,而不是我实际使用的,我在三星设备中使用Cyanogen Mod。有人能帮帮我吗?
发布于 2013-11-02 22:47:21
很可能从摄像机中正确地检索到图像,但是您的imageView对象为空。你应该在访问之前先做点什么,就像这样。
imageView = (ImageView) findViewById(R.id.yourImageId);另外,确保您没有在另一个方法(如imageView )中跟踪实例变量onCreate重新定义它,就像这样。
ImageView imageView = (ImageView) findViewById(R.id.yourImageId);https://stackoverflow.com/questions/19747654
复制相似问题