gpt4 book ai didi

android - fragment 中未调用 onActivityResult

转载 作者:IT老高 更新时间:2023-10-28 12:48:25 25 4
gpt4 key购买 nike

承载此 fragment 的 Activity 会在相机 Activity 返回时调用其 onActivityResult

我的 fragment 启动了一个结果 Activity ,目的是发送给相机拍照。图片应用程序加载正常,拍照并返回。但是, onActivityResult 永远不会被击中。我设置了断点,但没有触发任何东西。 fragment 可以有 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);
}
});

@Override
public 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);
}
}

最佳答案

托管 Activity 覆盖 onActivityResult(),但它没有为未处理的结果代码调用 super.onActivityResult()。显然,即使 fragment 是发出 startActivityForResult() 调用的 fragment , Activity 也会首先处理结果。当您考虑 fragment 的模块化时,这是有道理的。一旦我为所有未处理的结果实现了 super.onActivityResult(), fragment 就可以处理结果。

还有来自@siqing 的回答:

要在您的 fragment 中获取结果,请确保在您的 fragment 中调用 startActivityForResult(intent,111); 而不是 getActivity().startActivityForResult(intent,111); fragment 。

关于android - fragment 中未调用 onActivityResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6147884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com