如何获取图像资源ID并将其发送到Android中的其他活动?

时间:2009-09-08 07:38:31

标签: android

我正在使用GridView。它包含图像。当我点击此网格视图的任何项目时,我希望将此图像资源ID发送到另一个活动。我在哪里可以以更大的尺寸显示此图像? 如何获取图像资源ID并将其发送到其他活动?

2 个答案:

答案 0 :(得分:2)

一种方法是修改适配器的getView()方法,使其使用ViewHolder模式(Romain Guy's Google I/O 2009 presentation,查看0:09:05)。

在您标记到视图的视图持有者中,您可以为资源ID添加字段。 获得所选视图后,找到视图持有者(view.getTag())并获取其ID字段。

您可以使用Intents将其传递给另一个Activity。

您可能必须使用ContentProvider,以便第二个Activity可以访问您选择的图像。请记住,通常在.apk中编译并具有ID的资源是小型的,实用的资源,因为否则它们会大量增加您的应用程序,并且大多数情况下,您可以指望使用Internet下载图像。

当然,情况并非总是如此,但如果您使用资源/可绘制资源模拟互联网资源,则可能会面临不同的问题。

祝你好运。

答案 1 :(得分:1)

您可以将此信息用于启动其他活动的意图:

final Intent showImage = new Intent(this, ImageDisplayActivity.class);
showImage.putExtra("RESOURCE_ID", resourceId);
startActivity(showImage);

在ImageDisplayActivity中,您将使用

Bundle extras = getIntent().getExtras();
int entryId = extras.getInt("RESOURCE_ID");