Activity与Fragment的数据交互问题

qq_38667065 2017-05-12 07:50:39
我写了一个ActionBar结合Fragment实现Tab导航的程序,中有两个Fragment,其中一个Fragment中有一个要实现的功能是通过一个按钮从相册中选取一个图片,将它转成位图后显示到Fragment中的一个ImageView上,我用的是StartActivityForResult来获取图片的,写在MainActivity文件里,但是拿到图片后想要直接显示在ImageView上却提示我
reportError [type: 211, code: 524300]: Error reading from input stream

通过以下方法拿到图片:

public void gallery(View view) {
// 激活系统图库,选择一张图片
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
// 开启一个带有返回值的Activity,请求码为PHOTO_REQUEST_GALLERY
startActivityForResult(intent, PHOTO_REQUEST_GALLERY);
}

剪切图片并返回:

public void crop(Uri uri) {
// 裁剪图片意图
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
intent.putExtra("crop", "true");
// 裁剪框的比例,1:1
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
// 裁剪后输出图片的尺寸大小
intent.putExtra("outputX", 500);
intent.putExtra("outputY", 500);

intent.putExtra("outputFormat", "JPEG");// 图片格式
intent.putExtra("noFaceDetection", true);// 取消人脸识别
intent.putExtra("return-data", true);
// 开启一个带有返回值的Activity,请求码为PHOTO_REQUEST_CUT
startActivityForResult(intent, PHOTO_REQUEST_CUT);
}

onActivityResult方法:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PHOTO_REQUEST_GALLERY) {
// 从相册返回的数据
if (data != null) {
// 得到图片的全路径
Uri uri = data.getData();
crop(uri);
}

}else if (requestCode == PHOTO_REQUEST_CUT) {
// 从剪切图片返回的数据
if (data != null) {
this.bitmap = data.getParcelableExtra("data");
image.setImageBitmap(bitmap);
bn.setVisibility(View.INVISIBLE);
change.setVisibility(View.VISIBLE);
start.setVisibility(View.VISIBLE);
}
try {
// 将临时文件删除
tempFile.delete();
} catch (Exception e) {
e.printStackTrace();
}

}
super.onActivityResult(requestCode, resultCode, data);
}

里面的bn,change,start是三个按钮,image是所说的ImageView,他们都定义在Fragment的XML文件中,bn绑定了Galley方法。
请问我怎样才可以把图片显示在第一个Fragment的ImageView中?
...全文
172 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧