我一直在尝试在我的应用中实现简单(我认为)的事情。我认为这很简单,但不知怎的,它不能像我想要的那样工作。
我要做的是:
我的布局
<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);
我想要做的是从sdcard读取调整大小的文件(使用inSampleSize),然后用它填充ImageView(或ImageButton)。 但在使用setImageBitmap函数后,视图消失了 - 就像它刚刚加载空图像一样(注释行正常工作 - 它只是绿点)。
也许有人接近过类似的问题?我非常感谢任何帮助。
格尔茨, SCANA
编辑: ofc lastClicked:
lastClicked = (ImageView)findViewById(R.id.add_photo_left);
答案 0 :(得分:4)
为什么不试试lastClicked.invalidate()
?
我至少在我的代码中这样做,并且它以这种方式工作;)