在Listview中获取相机图像

时间:2012-12-27 06:03:38

标签: android android-intent camera

我有自定义Listview。其中有一个ButtonImageView

on按钮单击相机将打开。(相机意图被解雇)。

我希望捕获的Image(您也称为Bitmap)到ImageView上,这也是一个ListItem。

这意味着当我捕捉图像并按下相机的完成按钮时,我的imageview必须设置该图像。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

按照以下步骤

  1. 从您的活动中启动相机意图结果的活动。
  2. 捕获图片控制回调到您活动的onActivityResult
  3. 处理图像路径。
  4. 通过在listview项目位置设置属性来设置图像的路径。

答案 1 :(得分:0)

 private static int FILE_SELECT_CODE_1 = 0;
    function intentCamera(){
         Intent i = new Intent(
                        android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
         startActivityForResult(i, FILE_SELECT_CODE_1);


  }

private String getLastImagePath() {
        final String[] imageColumns = { MediaStore.Images.Media._ID,
                MediaStore.Images.Media.DATA };
        final String imageOrderBy = MediaStore.Images.Media._ID + " DESC";
        Cursor imageCursor = managedQuery(
                MediaStore.Images.Media.EXTERNAL_CONTENT_URI, imageColumns,
                null, null, imageOrderBy);
        if (imageCursor.moveToFirst()) {
            //int id = imageCursor.getInt(imageCursor.getColumnIndex(MediaStore.Images.Media._ID));
            String fullPath = imageCursor.getString(imageCursor
                    .getColumnIndex(MediaStore.Images.Media.DATA));
            // Log.d(TAG, "getLastImageId::id " + id);
            // Log.d(TAG, "getLastImageId::path " + fullPath);
            imageCursor.close();
            return fullPath;
        } else {
            return "";
        }
    }

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == FILE_SELECT_CODE_1 && resultCode == RESULT_OK){
         String lastImagePath = getLastImagePath();
         File fileImage = new File(lastImagePath);
         Uri u = Uri.fromFile(fileImage);
         //now you can set the image example:
         ImageView img = new ImageView(this);
         img.setImageURI(u);




    }
}