程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> android-在 layout中不能逐個添加 imageViews

android-在 layout中不能逐個添加 imageViews

編輯:編程綜合問答
在 layout中不能逐個添加 imageViews

我想使用一個按鈕添加一個圖像,然後在一個指定的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 的方向。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved