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