我已经在一个名为display_image.xml的屏幕中实现了galleryview,其中我已经在sdcard上显示了各种图像,现在当用户选择图片并在同一屏幕上按下保存图像按钮display_image.xml时,所选图像应该在他/她中更改另一个屏幕中的个人资料图片。
我的问题是,我将如何从一个屏幕获取该图像以更改另一个屏幕中的用户图片,并且所选图像也应插入数据库中,以便以后用户登录时进行后续检索。让我告诉你,我的形象不是来自任何网络服务。
请帮帮我.........感谢你.........
答案 0 :(得分:0)
您可以通过两种方式完成此操作: 1)通过所选图像的SD卡路径,直接从imageview中的路径加载该图像。 2)您可以将图像转换为byes []并传递bytes []并返回图像。
希望你能得到我。 最好的运气答案 1 :(得分:0)
使用“ activityForResult ”。
开始您的图像选择活动
startActivityForResult(INTENT_OF_YOUR_IMAGECHOOSING_ACTIVITY);
现在,在此活动中,当用户点击任何图片处理该事件时,如下所示:
某些OnClick(){<br>Intent resultIntent = new Intent();
在此意图中设置图像的额外字符串数组或图像的SD卡路径
然后致电setResult(RESULT_OK, resultIntent);
这将在方法onActivityResult(int resultCode, ..., Intent data)
中返回对上一个活动的调用。这里使用数据作为获取所需信息的意图< BR />
答案 2 :(得分:0)
您需要做的第一件事是声明一个意图
Intent i_cp = new Intent(this,ImagePicker.class);
并使用startActivityForResult(i_cp, 111);
来寻找一些结果。在我们的情况下,图像的位置;整数值。
指定request_code(111),用于在启动意图返回时识别结果。在这里,我们不会使用setAction(i_cp.ACTION_PICK);
和setType("image/*");
,因为我们不会返回图像,我们只会返回图像的位置。我们对Intent的使用仅限于传递和检索整数值(值的位置)。
现在如何获得用户选择的图像位置。通过其中一个参数
获取GalleryView的onItemClick方法中的位置public void onItemClick(AdapterView parent, View v, int position,long rid)
现在声明一个变量,如int pos;并指定-1以识别是否选择了图像,如果选择了图像,则在按钮saveimage的onclick事件中传递值位置为
retIntent.putExtra("SelectedImage", pos);
并在 onActivityForResult 中通过传递的请求代码识别意图并将该位置提取为
int pos = data.getExtras().getInt("SelectedImage");
并将其设为
usr_im.setImageResource(ImagePicker.pics[pos]);
这个pics []数组包含存储在应用程序的res/drawable
文件夹之一中的所有图像ID,将其声明为
public static Integer[] pics={values};
否则你将无法设置图像。