如何从一个屏幕获取图像到另一屏幕?
-
27-10-2019 - |
题
我已经在名为display_image.xml的一个屏幕中实现了galleryview,在该屏幕中,当用户选择图片并在同一屏幕上按下保存图像按钮display_image.xml时,我已经在sdcard上显示了可用的各种图像,然后应在他/她中更改所选图像个人资料图片在另一个屏幕上。
我的问题是,我如何能够从一个屏幕上获取该图像以在另一屏幕上更改用户的图片,并且当用户稍后登录时,所选的图像也应该插入数据库中以便以后检索。让我告诉你,我的图片不是来自任何网络服务。
请帮帮我.........谢谢.........
解决方案 3
您需要做的第一件事就是声明一个Intent 通用标签
,并使用startActivityForResult(i_cp, 111);
,它将寻找一些结果。就我们的形象位置而言;一个整数值。
通过指定request_code(111)来
,当启动意图返回该请求时,将用于标识结果。在这里,我们将不使用setAction(i_cp.ACTION_PICK);
和setType("image/*");
,因为我们将不返回图像,而只是返回图像的位置。我们对Intent的使用仅限于传递和检索整数值(值的位置)。
现在如何获取用户选择的图像位置。位置是通过参数之一在GalleryView的onItemClick方法中获得的 通用标签
现在声明一个变量,例如int pos;并分配-1以标识是否选择了图像,如果选择了图像,则在按钮saveimage的onclick事件中,传递值位置为 通用标签
并在 onActivityForResult 中通过传递的请求代码识别意图并将该位置提取为 通用标签
并将其设置为 通用标签
和此pics []数组(其中包含存储在应用程序的res/drawable
文件夹之一中的图像的所有ID),将其声明为
通用标签
否则,您将无法设置图像。
其他提示
您可以通过两种方式执行此操作: 1):传递所选图像的SD卡路径,然后直接从imageview的路径中加载该图像。 2),您可以将图像转换为byes []并传递字节[]并取回图像。
希望你能得到我。 祝你好运
使用“ activityForResult ”。
概念是通过调用来启动图像选择活动
startActivityForResult(INTENT_OF_YOUR_IMAGECHOOSING_ACTIVITY);
现在在此活动中,当用户单击任何图像时,按如下方式处理该事件:
一些一般性的代码标签
在此意向中设置图像的字节数组(额外或图像的sd卡路径)
然后调用OnClick(){<br>Intent resultIntent = new Intent();
这将使调用返回到setResult(RESULT_OK, resultIntent);
方法中的上一个活动,此处将数据用作获取所需信息的意图