2011-01-08 21 views
0

URLからJPGを表示しようとしているときに、イメージをImageViewに表示する際に問題が発生しています。 URLConnectionを開き、InputStreamでイメージをプルダウンし、そのストリームをBitmapにデコードします。私はビットマップの高さと幅の値を取得することさえできます。ビットマップをImageViewに設定して、Drawableの高さを取得することができます。しかし、イメージはまだ私のアプリケーションに表示されません。私は何が欠けているかもしれないの任意のアイデア?助けてくれてありがとう。ビットマップがImageViewに表示されない

try{ 
    URL imgURL = new URL(imgLocation); 
    URLConnection conn = imgURL.openConnection(); 
    conn.connect(); 
    InputStream is = conn.getInputStream(); 

    BufferedInputStream bis = new BufferedInputStream(is, 25); 

    Bitmap bm = BitmapFactory.decodeStream(bis); 

    if(bm != null){ 
     System.err.println("Image Height: " + bm.getHeight()); 
     System.err.println("Image Width: " + bm.getWidth()); 
    } else { 
     System.err.println("bm is null!!!"); 
    } 

    img.setImageBitmap(bm); 
    System.err.println("Drawable Height: " + img.getDrawable().getIntrinsicHeight()); 

    } catch (IOException e) { 
     // Print out the exception that occurred 
     e.printStackTrace(); 
    } 

答えて

0

私はあなたの質問に直接答えはありませんが、私はこの必要性のための代替の解決法を提案できます。

ImageViewを使用すると、使い勝手の点で多くの問題が発生します。 画面のロックを避ける必要があります。また、最適化の観点からイメージを再ロードするのは悪いです。

私ははるかに簡単な&効率的なソリューションをお勧めします。 Droid-FuのWebImageViewを使用することができます。 それは魅力のように動作します。イメージのURLを渡すだけで、WebImageViewはダウンロードを処理し、進行状況を表示したり、キャッシュしたりすることができます。ここ

はGitHubの上ドロイド・フーのplaygorundある

P.S.( 'ドロイド-FU' を検索)私はまた、私のgithub遊び場ですでにリリースされているこのキャッシングメカニズムのいくつかの拡張を行った( 'wareninja'を検索)

関連する問題