在我的意图中,我想将一个可绘制的图像传递给第二个活动,或者在这种情况下是一个详细视图。我从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新手,所以没有用。
答案 0 :(得分:1)
FIRST:当您没有将意图中的“图像”键作为imageId的默认值
时,将使用0SECOND:您的代码似乎没问题,并且没有任何问题。如果你说的硬编码后你看不到图像,我认为你的drawable(bg1)太大而无法显示(或者类似的东西)或者你的imageView和布局可能有问题......