onActivityResult没有被调用,Fragment从Android图片选择器中自行关闭

4

你好,我知道有很多与此相关的问题,但是我仍然找不到正确的方法:(

我阅读了这个链接onActivityResult在Fragment中没有被调用,但是我找不到解决方案。

              Intent intent = new Intent();
              intent.setType("image/*");
              intent.setAction(Intent.ACTION_GET_CONTENT);
              startActivityForResult(Intent.createChooser(intent, ""),
                                    PICK_IMAGE);


        public void onActivityResult(int requestCode, int resultCode, Intent data) {
                super.onActivityResult(requestCode, resultCode, data);
                if (resultCode != Activity.RESULT_CANCELED) {
                    if (requestCode == PICK_IMAGE && data.getData() != null) {
                        imagePath = getAbsolutePath(data.getData());

                        imageLoader.loadImage("file://" + imagePath,
                                new ImageLoadingListener() {

                                    @Override
                                    public void onLoadingStarted(String imageUri,
                                            View view) {

                                    }

                                    @Override
                                    public void onLoadingFailed(String imageUri,
                                            View view, FailReason failReason) {

                                    }

                                    @Override
                                    public void onLoadingComplete(String imageUri,
                                            View view, Bitmap loadedImage) {
                                        height = loadedImage.getHeight();
                                        width = loadedImage.getWidth();
                                        if (Utils
                                                .validateImageSize(height, width,
                                                        getActivity(),
                                                        "Image size must be in 480 (width) & 800 (height)    with PNG or JPG format"))
                                            imageLoader.displayImage("file://"
                                                    + imagePath, ivSubmitImgWord,
                                                    options);
                                    }

                                    @Override
                                    public void onLoadingCancelled(String imageUri,
                                            View view) {
                                    }
                                });

                    }
                }

            }

当我从相册中选择图片时,有时候onActivityResult不会被调用并且Fragment关闭了。请问有人能帮我解决这个问题吗?

如果你的代码片段正在关闭,我只能假设你遇到了某种异常,请检查并发布Logcat的结果。这将在帮助我们确定错误方面有很大帮助。 - Rudi Kershaw
我没有收到任何异常。当我从图库选择图片时,它只是关闭了片段。 - user2567369
你最终找到解决你问题的方法了吗? - Rudi Kershaw
我没有得到解决方案。 - user2567369
你对PICK_IMAGE的取值是多少?请尝试使用小于100的值作为PICK_IMAGE的取值。 - Sony
尝试检查您的Fragment是否已从活动中分离。 - Tang Ke
2个回答

0

检查您的清单文件中是否为该活动设置了noHistory=true。这将不会调用onActivityResult方法。


0

您需要在您的片段中删除 super.onActivityResult(requestCode,resultCode,data); 并覆盖

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {}

有相同的问题! - Ahmad Nasser

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接