2012-05-15 53 views
4

我一直试图在我的应用程序中实现简单(我认为)的事情。我认为这会很简单,但不知怎的,它不会按我的意愿工作。在ImageView中交换图像

我试图做的是:

  • 有一个在中心ImageView的活动 - 它有它自己的形象(当然,有两个)。
  • 我想按下ImageView(或它可以是ImageButton),打开图库/用相机拍照。
  • 然后,在拍摄/拍摄照片后,我想让该ImageView显示照片的缩略图。

我的布局

   <ImageView 
        android:id="@+id/add_photo_left" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginRight="20dp" 
        android:layout_weight="1" 
        android:adjustViewBounds="true" 
        android:src="@drawable/add_photo_button" /> 

       <ImageView 
        android:id="@+id/add_photo_right" 
        android:layout_width="0dp" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:adjustViewBounds="true" 
        android:src="@drawable/add_photo_button" /> 
      </LinearLayout> 

我的代码 - 让图片路径

 BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options(); 
     bmpFactoryOptions.inSampleSize = 8; 
     Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/5.png",bmpFactoryOptions); 
     lastClicked.setImageBitmap(bitmap); 
     //lastClicked.setImageResource(R.drawable.green_circle); 

我想做的事之后,从读取调整文件(使用inSampleSize) SD卡,然后用它填充ImageView(或ImageButton)。 但使用setImageBitmap函数后,视图消失 - 就像它只是加载空的图像(注释线正常工作 - 它只是绿点)。

也许有人已经接近类似的问题?我非常感谢任何帮助。

格尔茨, SCANA

编辑: OFC lastClicked:

lastClicked = (ImageView)findViewById(R.id.add_photo_left); 

回答

4

你为什么不尝试lastClicked.invalidate()

我在我的代码这样做,至少,它以这种方式工作;)

+0

谢谢,现在的作品完美:) – scana

+2

哇!这是我在stackoverflow.com上的第一个被接受的答案:D这将是有趣的理解当一个人需要失效(),但我没有找到一个好的答案,昨天。 – mjaskowski