2012-02-15 1 views
0
私はこの次のコードを使用してい

に1によってimageViews 1を追加することはできませんが、私が特定の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(); 
     } 
    } 

問題は、もう1つサムネイルを追加しようとするたびに、古いサムネイルが置き換えられることです。あなたはそれで画像を交換、レイアウトに新しいビューを追加していないので、それは置き換えられます。もちろん、

よろしく

+0

あなたが追加したい数... –

+0

のように最大10。 –

+0

ここにコード全体を入れて、より良い解決策を得ることができます。 –

答えて

1

...何をすべきかを教えてください。 RelativeLayoutをLinearLayoutに置き換えてみましょう。新しいサムネイルを追加する場合は、新しいImageViewを作成し、そのImageViewの背景をビットマップに設定してから、LinearLayoutに追加してください。

LinearLayoutの向きを忘れずに定義してください。

+0

コードは問題ありませんので教えてください。相対レイアウトタイプを線形に変更するだけですか? –

+0

おそらく。 RelativeLayoutは、以前そこにあった別の既存のビューと重なり合う新しいビューを追加している場合、本当に気にしません。多分あなたの画像はお互いに重なり合うかもしれません。 – josephus

関連する問題