2015-11-07 24 views
-1

所以我写这个应用程序,应该与意图图片然后画全屏位图,但是当我拍照应用程序说,请等待,然后崩溃。这里是我的代码:应用程序崩溃时生成位图

ImageView iv; 
    private static final int REQUEST_CODE_PHOTO = 101; 
    private String path; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    iv = (ImageView) findViewById(R.id.imageView); 

    Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
    File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM); 
    File output = new File(dir,"pic.png"); 
    cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(output)); 
    path = output.getAbsolutePath(); 
    startActivityForResult(cameraIntent, REQUEST_CODE_PHOTO); 
} 

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     if (requestCode == REQUEST_CODE_PHOTO) { 
      Bitmap bitmap = BitmapFactory.decodeFile(path); 
      iv.setImageBitmap(bitmap); 
     } 
    } 

有人可以帮助我,并显示问题出在哪里。提前致谢。

回答

3

你的主要问题是你忘了setContentView(....);onCreate(....)

setContentView(R.layout.yourlayout); 
因为这样你的应用程序越来越崩溃

iv = (ImageView) findViewById(R.id.imageView); 

因为iv==null

+0

它是集我只是忘了,包括它。 – Ktokto