Android中多层Fragment嵌套,调用相册返回Uri无法显示图片的问题解决方法
16lz
2022-06-14
imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent("android.intent.action.GET_CONTENT"); intent.setType("image/*"); getRootFragment().startActivityForResult(intent, 1); }});
private Fragment getRootFragment() { Fragment fragment = getParentFragment(); while (fragment.getParentFragment() != null) { fragment = fragment.getParentFragment(); } return fragment;}
@Overridepublic void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 1) { Uri uri = data.getData(); // 注意此处不要直接调用 Glide.with(mCtx).load(path).into(imageView);否则,会无效 // 而是通过handler进行发送消息显示图片 if (uri != null) { Message message = Message.obtain(); message.obj = uri; handler.sendMessage(message); } } super.onActivityResult(requestCode, resultCode, data);}
Handler handler = new Handler() { @Override public void handleMessage(Message msg) { Uri path = (Uri) msg.obj; Glide.with(mCtx) .load(path) .into(imageView); super.handleMessage(msg); }};
更多相关文章
- android下进行opencv开发的配置
- TextView添加Onclick点击无效没反应解决办法
- Android(安卓)控件 —— ListView
- Android(安卓)Drawable的那些事儿
- Android:Native C源码(NDK)如何使用sqlite3进行编程?
- Android(安卓)Activity生命周期--应知应会
- android webview 设置背景透明色
- android fragment 使用name关联Fragment
- Android(安卓)工程在4.0基础上混淆