android–onActivityResult未在Fragment中调用

android–onActivityResult未在Fragment中调用,第1张

概述托管此片段的活动在摄像头活动返回时调用onActivityResult.我的片段开始一个结果的活动,其意图是发送给相机拍照.图片应用程序加载正常,拍照并返回.然而,onActivityResult永远不会被击中.我设置了断点,但没有触发任何东西.片段可以有onActivityResult吗?我想是因为它是一个提供的功

托管此片段的活动在摄像头活动返回时调用onActivityResult.

我的片段开始一个结果的活动,其意图是发送给相机拍照.图片应用程序加载正常,拍照并返回.然而,onActivityResult永远不会被击中.我设置了断点,但没有触发任何东西.片段可以有onActivityResult吗?我想是因为它是一个提供的功能.为什么不被触发?

ImageVIEw myImage = (ImageVIEw)inflatedVIEw.findVIEwByID(R.ID.image);myImage.setonClickListener(new OnClickListener() {    @OverrIDe    public voID onClick(VIEw vIEw) {        Intent cameraIntent = new Intent(androID.provIDer.MediaStore.ACTION_IMAGE_CAPTURE);        startActivityForResult(cameraIntent, 1888);    }});@OverrIDepublic voID onActivityResult(int requestCode, int resultCode, Intent data) {    if( requestCode == 1888 ) {        Bitmap photo = (Bitmap) data.getExtras().get("data");        ((ImageVIEw)inflatedVIEw.findVIEwByID(R.ID.image)).setimageBitmap(photo);    }}

解决方法:

托管活动会覆盖onActivityResult(),但它没有调用super.onActivityResult()来处理未处理的结果代码.显然,即使片段是进行startActivityForResult()调用的片段,该活动也会获得处理结果的第一个镜头.当您考虑片段的模块化时,这是有意义的.一旦我为所有未处理的结果实现了super.onActivityResult(),该片段就可以处理结果.

而且来自@siqing的回答:

要在片段中获得结果,请确保调用startActivityForResult(intent,111);而不是getActivity().startActivityForResult(intent,111);你的片段里面.

总结

以上是内存溢出为你收集整理的android – onActivityResult未在Fragment中调用全部内容,希望文章能够帮你解决android – onActivityResult未在Fragment中调用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1104550.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存