gpt4 book ai didi

android - 扩展 HelloGallery 教程。单击图像并将图像传递给另一个 Activity/页面

转载 作者:行者123 更新时间:2023-11-29 18:23:32 27 4
gpt4 key购买 nike

我是 Android(和 Java)的新手,最初是一名 C# 开发人员……并且在概念和术语方面苦苦挣扎。我已经完成了几乎所有的教程,并决定开始我的第一个测试应用程序。

我的应用程序的第一部分将涉及使用图库小部件(基于 hello gallery tutorial )来显示大量图像。 (这些图像最终将来自手机摄像头,但我稍后会穿过那座桥!)我的图像目前存储在我项目的 drawable 文件夹中。

作为第一步,我只想让用户点击一张图片,它会全屏弹出,这样我就知道如何获取它的引用,但我正在努力。 Evetually 我希望用户单击图像,然后将打开一个窗口/Activity (?),要求他们提供一些文本。然后这将根据图像存储在 sqllite 中。

到目前为止,我有两个类:Class1 和 OpenImage。 Class1 包含类似于 HelloGallery 教程的 ImageAdapter 类。我在“getView”中添加了一个 onclick 监听器,如下所示:

public View getView(final int position, View convertView, ViewGroup parent) {
ImageView i = new ImageView(mContext);

i.setImageResource(mImageIds[position]);
i.setLayoutParams(new Gallery.LayoutParams(150, 100));
i.setScaleType(ImageView.ScaleType.FIT_XY);
i.setBackgroundResource(mGalleryItemBackground);

i.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = new Intent(Class1.this, OpenImage.class);
startActivity(i);
finish();
}
});

return i;
}

我遇到的问题是打开我的 OpenImage 并让它显示图像。

首先,我实际上不确定我需要传递什么以及如何传递,然后是如何在 OpenImage 页面/Activity 上获取它。

我什至不确定我正在尝试做的事情的术语,所以我也发现很难研究。打开全屏图像时是否打开了新 Activity ?或者它应该是某种弹出窗口?

这似乎是最简单的事情,但我遇到了第一个障碍。有人可以给我一些指导吗?

谢谢贝克斯

最佳答案

你快完成了。只需将图像的 ID 传递给 Intent 即可:

                Intent i = new Intent(Class1.this, OpenImage.class);
i.putExtra("the_image_id", mImageIds[position]);
startActivity(i);
finish();

然后,在您的 OpenImage 类中,您获取 ID 并将其设置为全屏的 ImageView:

public void onCreate(Bundle b){
super.onCreate(b);
// blah blah blah
int theID = getIntent().getExtras().getInt("the_image_id");
imageView.setImageResource(theID);
}

我假设您已经为 OpenImage Activity 构建了布局,并且您已经初始化了 imageView 对象等等。这里重要的是您学习如何在 Activity 之间传递数据。

关于android - 扩展 HelloGallery 教程。单击图像并将图像传递给另一个 Activity/页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3915360/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com