【问题标题】:How to send image one activity to another activity?如何将图像一个活动发送到另一个活动?
【发布时间】:2018-10-21 19:46:30
【问题描述】:

我是 android 新手。我想将一个活动中的图像传递给另一个活动。我尝试了很多次。但是我的应用程序会崩溃。请编辑我的代码并进行必要的更改。

发件人活动:

camera=(ImageButton)findViewById(R.id.camera);
            gallery=(ImageButton)findViewById(R.id.gallery);
      camera.setOnClickListener(new View.OnClickListener() {

          @Override
          public void onClick(View view) {
              Intent i =new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
              startActivityForResult(i, 50);
          }
      });

    gallery.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent pickPhoto = new Intent(Intent.ACTION_PICK,
                    android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
            startActivityForResult(pickPhoto , 40);
        }
    });
}

接收者活动:

package com.androidlink.navigation_bottom;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.support.v7.app.AppCompatActivity;


import android.os.Bundle;
import android.widget.ImageView;
public class Image_set_Activity extends AppCompatActivity 
{


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_image_set_);
    ImageView IV = (ImageView) findViewById(R.id.simpleImageView);

  }
}

【问题讨论】:

标签: android


【解决方案1】:

尝试覆盖 onActivityResult()。进一步阅读 - https://developer.android.com/training/basics/intents/result

【讨论】:

    【解决方案2】:

    试试这个代码发送图片

    ImageView imageview = (ImageView) findViewById(R.id.Tab);
    BitmapDrawable drawable = (BitmapDrawable) imageView.getDrawable();
    Bitmap bitmap = drawable.getBitmap();
    final byte[] arr = bitmap.getNinePatchChunk();
    
    imageView.setOnClickListener(View v)
    {
    Intent intent = new Intent (MainActivity.this,bbb.class);
    Intent.putExtra(“image”,arr);
    startActivity(intent);
    }
    

    获取图片

    Intent I = getIntent();
    byte[] arr1 = i.getByteArrayExtra(“image”);
    Bitmap map = BitmapFactory.decodeByteArray(arr,0,arr.length);
    imageView.setImageBitmap(map);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-04
      • 2012-07-20
      • 1970-01-01
      • 2023-03-28
      • 2016-08-18
      相关资源
      最近更新 更多