2012-02-15 8 views
1

相対レイアウトにサムネイルを動的に追加しようとしています。これは、あなたは、だから、ここのコードアンドロイドにサムネイルを動的に追加する

public void showViewOfReceipt(String fileName) 
     { 
      byte[] imageData = null; 

      try 
      { 

      final int THUMBNAIL_SIZE = 64; 

      FileInputStream fis = new FileInputStream(fileName); 
      Bitmap imageBitmap = BitmapFactory.decodeStream(fis); 

      Float width = new Float(imageBitmap.getWidth()); 
      Float height = new Float(imageBitmap.getHeight()); 
      Float ratio = width/height; 
      imageBitmap = Bitmap.createScaledBitmap(imageBitmap, (int)(THUMBNAIL_SIZE * ratio), THUMBNAIL_SIZE, false); 

      ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
      imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); 
      imageData = baos.toByteArray(); 
      ImageView image = new ImageView(this); 

      image.setImageBitmap(imageBitmap); 
      RelativeLayout layout = (RelativeLayout) findViewById(R.id.expLayout5); 
      layout.addView(image); 
      } 
      catch(Exception ex) { 
      } 
     } 

それは示していません何も

よろしく

+0

あなたがより良いかどうかを確認したい

Uri photoUri = data.getData(); String[] filePathColumn = {MediaStore.Images.Media.DATA}; Cursor cursor = getContentResolver().query(photoUri, filePathColumn, null, null, null); if (cursor.moveToFirst()) { int columnIndex = cursor.getColumnIndex(filePathColumn[0]); String filePath = cursor.getString(columnIndex); cursor.close(); Bitmap imageReturned = BitmapFactory.decodeFile(filePath); showImageInLayout(imageReturned); 

が続いて関数を定義するビットマップ画像を取得するがコード内で例外がスローされます。 'Bitmap'や' FileInputStream'などを作成するときのエラーの詳細を教えてくれるでしょう。 –

+0

EMPTYを書くCatchブロックは悪い習慣です。 – MKJParekh

+0

ここにコード全体を入れることができますか? – Deva

答えて

1

の1-変更このコードは以下のリニアレイアウト 2 - 使用するように相対的なレイアウトはshowImageInLayout(Bitmap imageReturned)

public void showViewOfReceiptInLayout(Bitmap imageBitmap) 
     { 
      byte[] imageData = null; 
       imageBitmap = Bitmap.createScaledBitmap(imageBitmap, yourWidth, yourHeight, false); 
       ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
       imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); 
       imageData = baos.toByteArray(); 
       ImageView image = new ImageView(this); 
       image.setImageBitmap(imageBitmap); 
       layout.addView(image); 

     } 
1

コードのあなたの次の行を変更し

catch(Exception ex) 
{ 
} 

に、

catch(Exception ex) 
{ 
     e.printStack(); 
} 

ですエラーが発生しますが、もしあれば。

+0

エラーは検出されていません –

+0

申し訳ありませんがファイルが見つかりません。内容:// media/external/images/media/1は、エミュレータがあなたに送るファイルパスです。 –

+0

は、ファイルパスが間違っていることを意味しています。 – Altaaf

0

コメントコード行:

//画像=(ImageViewの)findViewById(R.id.imageView1)。

+0

が削除されました。効果はありません。申し訳ありませんが、間違いでした –

0

私たちが正しくお手伝いできるように、エラーまたは例外ログコードで質問を更新してください。

そして、Altaafは、fileNameのエラーに答えます。だから、それをチェックしたり、コードを渡してください。

ありがとうございました。

関連する問題