2012-02-15 3 views
0
나는이 다음 코드를 사용하고

에 의해 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(); 
     } 
    } 

이제 문제는 하나 이상의 미리보기 이미지를 추가 할 때마다 이전 버전을 대체한다는 것입니다. 당신이 단지의 이미지를 대체 레이아웃에 새보기를 추가하지 않을 때문에 ... 내가 무엇을해야할지 알려주세요

안부 물론

+0

얼마나 추가하고 싶은지 ... –

+0

최대 10 개. –

+0

u가 여기에 전체 코드를 입력하여 더 나은 솔루션을 얻을 수 있습니까? –

답변

1

가 교체됩니다. RelativeLayout을 LinearLayout으로 바꾸고 새로운 축소판을 추가하고 새로운 ImageView를 만들고 해당 ImageView의 배경을 비트 맵으로 설정 한 다음 LinearLayout에 추가하십시오.

LinearLayout 방향을 정의하는 것을 잊지 마십시오.

+0

코드가 괜찮습니까? 상대 레이아웃 유형을 선형으로 변경하십시오. –

+0

가능합니다. RelativeLayout은 이전에 있었던 다른 기존 뷰와 겹치는 새로운 뷰를 추가하는 경우 실제로는 신경 쓰지 않습니다. 어쩌면 당신의 이미지가 서로 겹칠 수도 있습니다. – josephus

관련 문제