我想使用一個按鈕添加一個圖像,然後在一個指定的relativeLayout中顯示縮略圖。使用下面的代碼,但是不能正確運行。
public void showViewOfReceiptFromSelecting(String uriString)
{
byte[] imageData = null;
try
{
InputStream fis = this.getContentResolver().openInputStream(Uri.parse((uriString)));
Bitmap imageBitmap = BitmapFactory.decodeStream(fis);
imageBitmap = Bitmap.createScaledBitmap(imageBitmap, 40, 40, false);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
imageData = baos.toByteArray();
ImageView image = new ImageView(this);
image.setImageBitmap(imageBitmap);
image.setId(counterOfReceipts);
RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
rlp.addRule(RelativeLayout.RIGHT_OF, counterOfReceipts - 1);
myRelalativelayout.addView(image, rlp); // a relative Layout i already defined earlier in the code
counterOfReceipts = counterOfReceipts + 1 ;
}
catch(IOException e) {
e.printStackTrace();
}
}
現在當我再添加一個縮略圖時,還是顯示的之前的那個。怎麼改正啊?
當然要代替了,因為你沒有在布局上添加一個新的視圖,只是替換了圖片。用一個 LinearLayout代替 RelativeLayout,然後但你什麼時候想添加一個新的縮略圖時,創建一個新的 ImageView,在 bitmap 上設置 ImageView 的背景,然後添加到 LinearLayout中。 還要記得定義 LinearLayout 的方向。