【问题标题】:In Android, how to send image from one activity to another selected from gallery?在Android中,如何将图像从一个活动发送到另一个从图库中选择的活动?
【发布时间】:2017-01-24 08:10:54
【问题描述】:

[这是我的代码。请给出完整的代码。重新启动应用程序后应该会出现收到的图像。谢谢][1]

     @Override
public void onActivityResult(int requestCode, int resultCode,  Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK && data != null && data.getData() != null) {
        Uri uri = data.getData();
        try {Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
            ImageView imageView = (ImageView) findViewById(R.id.imageView2);
            imageView.setImageBitmap(bitmap);
            String[] filePathColon={MediaStore.Images.Media.DATA};
            Cursor cursr=getContentResolver().query(uri, filePathColon, null, null, null);
            cursr.moveToFirst();
            int columnindex=cursr.getColumnIndex(filePathColon[0]);
            final String picturepath=cursr.getString(columnindex);
            cursr.close();
            b1= (Button) findViewById(R.id.button);
            b1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent  intent= new Intent(edit_student.this,student.class);
                    intent.putExtra("imagePath",picturepath );
                    startActivity(intent);}});
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

【问题讨论】:

  • 将位图传递给意图
  • 将图片路径传递给下一个Activity

标签: android


【解决方案1】:

像这样将图像 Uri 发送到第二个活动:

@override
public void onClick(View v){
Intent intent = new Intent(getApplicationContext(),student.class);
intent.putParceleableExtra("imageUri",uri);
startActivity(intent);

}

在你的 SecondActivity onCreate() 中获取意图并获取 uri,从 uri 创建一个位图对象并将其设置到图像视图中。

Uri retreivedUri = getIntent().getParceleableExra("imageUri");

【讨论】:

  • 我尝试了这段代码,但它无法解决这两个活动中的 getParceleableExtra(() 问题。所以我现在该怎么办。如果可能,请给我完整的代码。谢谢。
猜你喜欢
  • 2011-12-21
  • 2016-11-04
  • 2012-07-20
  • 2014-11-18
  • 2016-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多