ImageView.setImageBitmap() 在 Fragment(v4) 的 onViewCreated() 中不起作用

ImageView.setImageBitmap() is not working in onViewCreated() in Fragment(v4)

我将位图作为一个包传递给片段,但以下代码没有按预期工作。

@Override
public void onViewCreated(final View view, Bundle savedInstanceState) {

        if (getArguments() != null) {
            ImageView mImageView = (ImageView) view.findViewById(R.id.image_view);
            bitmap = getArguments().getParcelable(BundleHelper.IMAGE);

            mImageView.setImageResource(R.drawable.ic_launcher);
            //mImageView.setImageBitmap(bitmap);
            //mImageView.invalidate();
            new ImageSaveAsync(bitmap, getActivity().getExternalFilesDir(null).getAbsolutePath() + File.separator + "to_fragment_camera.jpg").execute();
        }
}

我写这个 ImageSaveAsync 是为了看看位图发生了什么。位图已保存到驱动器,但以下 none 无效,

 mImageView.setImageResource(R.drawable.ic_launcher);
 //mImageView.setImageBitmap(bitmap);
 //mImageView.invalidate();

是不是棒棒糖版本的bug?或者我在这里做错了什么。请帮忙。

不要打包整个位图。获取并发送对它的引用,也许是 sdcard 上图像的路径?传递该信息并在 onViewCreated

中重建您的实际位图对象