Android 在activityresult上更改图像
我启动选择器活动Android 在activityresult上更改图像,android,Android,我启动选择器活动 selectButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT);
selectButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Open from"), PICK_IMAGE);
}
});
我必须用结果更改imageview
图片,我不确定,但是onActivityResult
中的resultCode变量的值为-1
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PICK_IMAGE) {
//get data and change imageView
}
}
但我不知道如何从意图数据中获取数据,以设置
图像视图的图片-1是常量值,表示您的活动已启动,结果已成功完成
使用调试器中断onActivityResult
方法。检查您得到的数据
意图。它应该有:
1:位图对象,即获取或删除的图像
2:一个URI,它是图像的路径,您可以使用Glide或Picasso之类的工具加载图像
有关更多信息,请参见文档中的。-1是常量值,表示您的活动已启动,结果已成功完成
使用调试器中断onActivityResult
方法。检查您得到的数据
意图。它应该有:
1:位图对象,即获取或删除的图像
2:一个URI,它是图像的路径,您可以使用Glide或Picasso之类的工具加载图像
有关更多信息,请参阅文档中的。结果代码中的-1表示操作成功。看
在意图数据中找到的文件的路径。您可以这样访问它:
Uri uri = data.getData();
然后,可以将ImageView设置为此URI:
ImageView.setImageURI(uri);
但多亏了这一评论,据报道,这是不推荐的。另一种选择是使用文档中所述的ImageView.setImageDrawable(Drawable)
或ImageView.setImageBitmap(android.graphics.Bitmap)
所以这里他们解释了如何使用setImageBitmap:
下面是如何从Uri中获取可绘制文件,然后可以使用setImageDrawable进行设置:
使用哪一个取决于您的需要,如文件类型。结果代码中的-1表示操作成功。看
在意图数据中找到的文件的路径。您可以这样访问它:
Uri uri = data.getData();
然后,可以将ImageView设置为此URI:
ImageView.setImageURI(uri);
但多亏了这一评论,据报道,这是不推荐的。另一种选择是使用文档中所述的ImageView.setImageDrawable(Drawable)
或ImageView.setImageBitmap(android.graphics.Bitmap)
所以这里他们解释了如何使用setImageBitmap:
下面是如何从Uri中获取可绘制文件,然后可以使用setImageDrawable进行设置:
使用哪一种取决于您的需要,如文件类型。使用图像加载库,如Glide或Picasso。不可能……当然可以。很多开发人员都使用它们。这是一个学生练习,有一些规则,规则应该是“使用专业人员使用的东西”。专业人士使用图像加载库,而不是重新发明轮子。使用图像加载库,如Glide或毕加索。不可能……当然可以。很多开发人员都使用它们。这是一个学生练习,有一些规则,规则应该是“使用专业人员使用的东西”。专业人士使用图像加载库,而不是重新发明轮子。ACTION\u GET\u CONTENT
将返回Uri
ACTION\u GET\u CONTENT
将返回Uri
setImageURI()
阻止用于加载和解码图像的主应用程序线程。不建议使用此方法。setImageURI()
阻止用于加载和解码图像的主应用程序线程。不建议采用这种方法。