Android如何将图像从图像视图和文本中的文本从一个活动传递到另一个活动

时间:2015-11-21 09:22:48

标签: android android-intent

嗨,我知道如何将图像从一个活动发送到另一个活动,并分别从文本视图发送文本到另一个活动。但我想知道在一个活动中我们有文本视图和图像视图。但我需要的是我想将文本和图像从一个活动发送到另一个活动。欢迎提出任何建议。 谢谢。

2 个答案:

答案 0 :(得分:1)

要将图片从一个活动传递到另一个活动,请先将图片转换为位图,然后使用以下代码将您的位图转移到其他活动:

Bitmap bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();
ByteArrayOutputStream bs = new ByteArrayOutputStream();
b.compress(Bitmap.CompressFormat.PNG, 50, bs);

Intent i = new Intent(this, SecondActivity.class)
i.putExtra("Image", bs.toByteArray());
i.putExtra("Text", yourTextView.gettext().toString());
startActivity(i)

要在第二个活动中检索位图,请编写以下代码:

if(getIntent().hasExtra("Image")) { 
Bitmap b = BitmapFactory.decodeByteArray(
  getIntent().getByteArrayExtra("byteArray"),0,getIntent().getByteArrayExtra("byteArray").length);        
imageview.setImageBitmap(b);
} 

if(getIntent().hasExtra("Text")) { 
yourTextView.setText(getIntent().getStringExtra("Text"));
} 

答案 1 :(得分:0)

发送图片是什么意思?要传递字符串,请使用Intent extras和Bundle。

在你的第一次活动......

someButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(CurrentActivity.this, NextActivity.class);   
        intent.putExtra("text_contents", someTextView.getText().toString();
        startActivity(intent);
    }
});

在第二个活动onCreate()中,您检索通过Bundle传递的意图额外内容...

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Bundle bundle = getIntent().getExtras();
    if (bundle != null) {
        String someString = bundle.getString("text_contents");
    }
}

如果您的“图片”是R.drawable资源,那么您可以简单地将其添加到意图附加内容中:

intent.putExtra("image_resource", R.drawable.some_image_resource);

从Bundle中检索它,如:

int someImageResource = bundle.getInt("image_resource");

从那里你可以将它应用到一些ImageView:

someImageView.setImageResource(someImageResource);

编辑:略微修正+如果您的“图片”是位图,请参阅Anjali的回答。