我的ImageView不刷新

时间:2013-05-17 19:09:14

标签: android imageview

我正在尝试创建一个拍照的应用程序,并将其显示在ImageView上。

我成功了,但是当我尝试拍摄新照片时,ImagaView的图像没有刷新。

例如:我按下一个按钮,创建了一个Intent到相机。我将图片'A'保存在路径'fileUri' SD卡上的文件中。回到我的活动中,mImageView1显示图片'A'。很好。它有效。

我尝试拍摄一张新的图片'B',我打电话给Intent图片保存在同一地址。图片被核心保存,但当我在我的活动中返回时mImageView1显示旧的图片'A'。 以下是更改ImageView图像的代码:

@Override
public void onPause(){
    super.onPause();
    ((BitmapDrawable) mImageView1.getDrawable()).setCallback(null);
}

@Override
public void onResume(){
    super.onResume();
    try{
        if(bImageSaved)
        {
            mImageView1.setImageURI(fileUri);
            mImageView1.postInvalidate();

        }
    }
    catch(Exception e)
    {
        e.printStackTrace();
         Log.e("Image2Notes",  e.getMessage(), e);
    }

我尝试了不同的东西来刷新ImageView:mImageView1.postInvalidate(); mImageView1.draw(...);但没有成功。

如果你有提示我将会更加满意。 谢谢,

1 个答案:

答案 0 :(得分:1)

使用startActivityForResilt()为结果启动相机活动。然后覆盖onActivityResult()函数。这样当你的相机活动结束时,onActivityResult()函数就会被调用。在该功能中,您可以更改图像,而不是在onResume()中更改图像。检查onActivityResult()中的活动结果状态。