Android将图像通过活动意图绘制到第二个活动

时间:2015-08-11 22:18:07

标签: android android-intent android-activity imageview

在我的意图中,我想将一个可绘制的图像传递给第二个活动,或者在这种情况下是一个详细视图。我从activity1

传递了这样的可绘制图像
Intent i = new Intent(NewsActivity.this, DetailActivity.class);
i.putExtra("image",R.drawable.bg1);

bg1是drawable目录中app包中的png文件。

在第二个活动中,我尝试设置如下图像。

int imageId = getIntent().getIntExtra("image", 0);

//Image background
ImageView imageView = (ImageView) findViewById(R.id.detailBgImg);
imageView.setImageResource(imageId);

我希望imageView是从activity1传递的drawable,即R.drawable.bg1

这一行也让我感到困惑。

int imageId = getIntent().getIntExtra("image", 0);

我假设getIntExtra(“image”是从activity1传递的密钥,这个默认值是什么,我设置为0?我不明白这个?请解释。

无论哪种方式,我传递的图像都不会显示,如果我硬编码它可以像下面那样

ImageView imageView = (ImageView) findViewById(R.id.detailBgImg);
imageView.setImageResource(R.drawable.bg1);

我很困惑!我也是Android新手,所以没有用。

1 个答案:

答案 0 :(得分:1)

FIRST:当您没有将意图中的“图像”键作为imageId的默认值

时,将使用0

SECOND:您的代码似乎没问题,并且没有任何问题。如果你说的硬编码后你看不到图像,我认为你的drawable(bg1)太大而无法显示(或者类似的东西)或者你的imageView和布局可能有问题......