Невозможно добавить imageViews один за другим в макете - PullRequest
0 голосов
/ 15 февраля 2012

Я использую следующий код, но он не работает должным образом Я пытаюсь добавить изображение с помощью кнопки и затем отображать миниатюру в определенном 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 Ответ

1 голос
/ 15 февраля 2012

Конечно, его заменяют, потому что вы не добавляете новый вид в макет, а просто заменяете изображение в нем.Попробуйте заменить RelativeLayout на LinearLayout, затем всякий раз, когда вы хотите добавить новый эскиз, создайте новый ImageView, установите фон этого ImageView для вашего растрового изображения, затем добавьте его в LinearLayout.

Не забудьте определитьваша ориентация LinearLayout.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...