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

时间:2015-07-28 18:35:32

标签: android android-fragments bitmap imageview

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

@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来查看位图发生了什么。位图保存到驱动器,但以下任何一项都没有效果,

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

这是Lollipop版本中的错误吗?或者我在这里做错了什么。请帮忙。

1 个答案:

答案 0 :(得分:1)

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

中重建您的实际位图对象