如何接收putExtra图像?

时间:2018-04-21 20:22:45

标签: android android-intent android-recyclerview

我尝试使用ImageView在两个活动之间传递putExtra。 我想发送ImageView是正常的,但是我怎么能在其他活动上收到它。

我的代码 - 的 RecyclerViewAdapter

@Override
public void onBindViewHolder(@NonNull final PostsAdapter.ViewHolder holder, final int position) {

final String image_data = list_post.get(position).getImage_url();
holder.setIntroIMG(image_data);


holder.mView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        Intent goToFullPost = new Intent(context, FullPostActivity.class);
        goToFullPost.putExtra("image_url", image_data);
        context.startActivity(goToFullPost);

    }
});

}

其他活动 -

我收到的图片如下 -

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_full_post);

    String setMainImage = getIntent().getStringExtra("image_url");
}

谢谢:)

1 个答案:

答案 0 :(得分:0)

发送

Intent intent = new Intent(this, FullPostActivity.class);
Bitmap bitmap; 
ByteArrayOutputStream btArrayOutputStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 50, btArrayOutputStream );
intent.putExtra("image", btArrayOutputStream .toByteArray());
startActivity(intent);

接收

imgView = (ImageView) findViewById(R.id.imageViewId);
Bitmap bitmap = BitmapFactory.decodeByteArray(      getIntent().getByteArrayExtra("image"),0,getIntent().getByteArrayExtra("image").length);        
imgView .setImageBitmap(bitmap);