当前位置: 首页 > 知识库问答 >
问题:

如何上传特定图像在特定图像查看点击从画廊和相机在android

韦绍晖
2023-03-14

我有4个Different imageview,并尝试单击所有以上传不同的图像,如许可证、Rc、配置文件等。我希望从画廊或相机对话框上传图像。类似于此布局。类似于超级布局示例

共有3个答案

金瑞
2023-03-14

编辑 由于您使用的是 recyclerview 或 listview 类型的视图,因此您可以将标签关联到每个视图保持者,然后使用该标签来解析图像视图。现在,您可以根据视图中的位置获得唯一的标签。例如,在 recyclerview 中,你可以使用 getAdapterPosition()。

将每个imageview的OnClicks与请求代码相关联。在onActivityResult中解析它们并相应地放置图像。

姚钊
2023-03-14
 private void imageBrowse() {
if(camera){
 Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
            startActivityForResult(cameraIntent, CAMERA_REQUEST); 
}else{
    Intent galleryIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    // Start the Intent
    startActivityForResult(galleryIntent, PICK_IMAGE_REQUEST);
}
}

 public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (resultCode == RESULT_OK) {

        if(requestCode == PICK_IMAGE_REQUEST){
            Uri picUri = data.getData();

            filePath = getPath(picUri);
            uri =picUri;
            Log.d("picUri", picUri.toString());
            Log.d("filePath", filePath);

            imageView.setImageURI(picUri);

        }

  if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) {  
        Bitmap photo = (Bitmap) data.getExtras().get("data"); 
        imageView.setImageBitmap(photo);
    }  

    }

}
岳嘉悦
2023-03-14

请检查我更新的答案。这只是一个例子。希望您能从中理解

  ImageView profile_pic;
    private static final int SELECT_PICTURE1 = 100;
    private static final int SELECT_PICTURE2 = 101;
    private static final int SELECT_PICTURE3 = 102;
    private static final int SELECT_PICTURE4 = 103;





picture1 = (ImageView) view.findViewById(R.id.picture1);
picture2 = (ImageView) view.findViewById(R.id.picture2);
picture3 = (ImageView) view.findViewById(R.id.picture3);
picture4 = (ImageView) view.findViewById(R.id.picture4);
picture1.setOnClickListener(this);
picture2.setOnClickListener(this);
picture3.setOnClickListener(this);
picture4.setOnClickListener(this);







@Override
    public void onClick(View v) {
        if (v.getId() == R.id.picture1) {
             Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_PICTURE1);
        }

         if (v.getId() == R.id.picture2) {
             Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_PICTURE2);
        }
         if (v.getId() == R.id.picture3) {
             Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_PICTURE3);
        }

         if (v.getId() == R.id.picture4) {
             Intent intent = new Intent();
    intent.setType("image/*");
    intent.setAction(Intent.ACTION_GET_CONTENT);
    startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_PICTURE4);
        }


    }




@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (resultCode == RESULT_OK) {
        if (requestCode == SELECT_PICTURE1) {
            Uri selectedImageUri = data.getData();
            if (null != selectedImageUri) {
                String path = selectedImageUri.getPath();
                Log.e("image path", path + "");
                pricture1.setImageURI(selectedImageUri);
            }
        } 

        if (requestCode == SELECT_PICTURE2) {
            Uri selectedImageUri = data.getData();
            if (null != selectedImageUri) {
                String path = selectedImageUri.getPath();
                Log.e("image path", path + "");
                picture2.setImageURI(selectedImageUri);
            }
        } 

        if (requestCode == SELECT_PICTURE3) {
            Uri selectedImageUri = data.getData();
            if (null != selectedImageUri) {
                String path = selectedImageUri.getPath();
                Log.e("image path", path + "");
                picture3.setImageURI(selectedImageUri);
            }
        } 

        if (requestCode == SELECT_PICTURE4) {
            Uri selectedImageUri = data.getData();
            if (null != selectedImageUri) {
                String path = selectedImageUri.getPath();
                Log.e("image path", path + "");
                picture4.setImageURI(selectedImageUri);
            }
        } 
    }
}
 类似资料:
  • 此应用程序中的WebView会打开一个带有上载按钮的页面。 下面是一个代码块,可以打开一个对话框从gallery或camera上传图像。 在我的活动中,我有: 在onCreate中,我有以下内容: 文件浏览器和图库正在按预期工作。问题是,当我用相机拍照时,它没有上载到“选择文件”选项中,该选项显示状态“未选择文件”。 选择相机时: 使用相机拍摄快照:出现返回和检查选项。 关于选择检查标记: 文件未

  • 嘿,谢谢你抽出时间。在我的页面中,我的应用程序的webview中加载的是照片上传: 它上传一张照片,如果你通常图片你的画廊等... 如果我点击这个输入,我可以选择一张图片,然后网站检测到更改(js:onchange)。我已经尝试了一些东西,但在我选择它之后它不会上传图片。下面是我对imgupload的编码: 我希望你能帮忙,祝你今天过得愉快

  • 我试图在一个特定的坐标上显示一个图像在另一个图像上。我已经使用网络摄像头检测到aruco标记,我想在aruco标记上显示另一张图像。aruco标记可以移动,覆盖图像应该随着标记移动。 有各种绘图功能和将文本输入到图像中。我尝试过图像叠加和图像单应性。 我可以得到拐角的坐标。有没有在这些坐标处插入图像的功能?

  • 问题内容: 基本上,我想做的是允许用户自己制作folder,然后转到activity包含的button来启动camera。 从这里我希望能够启动camera并将camera图像保存到新创建的文件夹中。 我在将camera图像保存到新创建的文件夹的最后一部分时遇到麻烦。 这是我的Code: 从这里我过渡到此活动: public class Press extends Activity { 请告诉我如

  • 我对Android很陌生,正在做我自己的迷你项目,我想改变一个特定像素的颜色。在寻找如何做到这一点时,我在几年前遇到了这个问题。我尝试了myBitmap。setPixel(10,10,Color.rgb(45,127,0)) ,但当我在手机上激活它时,我激活这行代码的那一刻它就崩溃了。每当我与位图交互时,它似乎就会崩溃<代码>int x=myBitmap。getHeight() 这一行也会使应用程

  • 我需要存储从照相机到gallery再到firebase的图像。在我的项目上传从画廊工作,但当我试图从相机上传什么都没有发生。当您在“多媒体资料”或“照相机”之间选择“单击”按钮时。当从“多媒体资料”中拍照或选择“图像”时,在“图像视图”中我可以获得图像。然后我点击save,若图片来自gallery,则保存到存储器,并在数据库中创建子对象,但若图片来自camera,则无法工作。这个问题有解决办法吗?