Java onActivityResult未更新我当前的imageView
我搜索了所有答案,尝试了一切,从Java onActivityResult未更新我当前的imageView,java,android,Java,Android,我搜索了所有答案,尝试了一切,从mImageView.postInvalidate()到这样做 @Override public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == PICK_PHOTO
mImageView.postInvalidate()
到这样做
@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_PHOTO && resultCode == RESULT_OK && data != null && data.getData() != null) {
filePath = data.getData();
try {
mImageView.setImageURI(null);
mImageView.setImageURI(filePath);
Bitmap bmimage = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
mImageView.setImageBitmap(bmimage);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Glide.with(context).load(imageURI).into(mImageView);
但这也不是刷新我的图像时,从结果采摘到我的画廊回来
我该怎么办
暗示
当我第一次启动我的应用程序时,该mImageView中有一个默认图像集,然后当我尝试更改它时,imageview不会更新,但当我再次保存并设置图像时,此代码会起作用
谢谢这样做就解决了这个问题
@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_PHOTO && resultCode == RESULT_OK && data != null && data.getData() != null) {
filePath = data.getData();
try {
mImageView.setImageURI(null);
mImageView.setImageURI(filePath);
Bitmap bmimage = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
mImageView.setImageBitmap(bmimage);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Glide.with(context).load(imageURI).into(mImageView);
setImageURI和setImageBitmap应该在您提供的代码中执行相同的操作。是否要手动加载位图以用于以后的一些代码,其中这只是一个代码片段?你试过了吗?是的,我试过glide做这个/*glide.with(this).load(新文件(filePath.getPath()).into(mImageView)*/但它根本不起作用,我发布的代码只在我加载第一个图像时起作用,而在第一次加载时不起作用