2017-11-23 9 views
0

アンドロイドSimple Adapterを使用して、ListViewのパスに基づいて画像を表示しようとしています。だから、私はイメージのパスを自分のデータベーステーブルに文字列の形式で格納している。今私はそれらをListViewで表示したいと思います。どうやってするの?Androidは、リストビューの画像をそのパスから返します。

+0

だから、問題は何ですか?デコードして結果としてビットマップを取得することができます。 – Piyush

+0

Glideのようなライブラリを使用する方がよいでしょう。 –

+0

質問するのは良い質問ではありません –

答えて

1

あなただけ書くことができます。..

String photoUrl="your image url; 
    try{ 

     if(photoUrl !=null) { 
      yourImageView.setImageURI(Uri.parse(photoUrl)); 
     } 

    }catch (Exception e){ 

    } 
+0

おかげさま... –

0

Glide/Picassoライブラリを使用して画像を読み込むのは簡単です。あなたはただファイルパスを渡す必要があり、残りのプロセスはグライド自体を行います。

Glide.with(imageView.getContext()) 
      .load(url) 
      .placeholder(R.mipmap.place_holder) 
      .dontAnimate() 
      .into(imageView); 

ただし、ファイルパスが空ではなく、ファイルであることを確認してください。そうしないと、例外が発生する可能性があります。

+0

私は実際に質問された質問にいくつかの変更を加えました。更新されたものを見て、それについてどうやって行くのか教えてください。 –

+0

カーソルアダプタからデータを取得し、画像パスを見つけて滑空に渡すと、画像がロードされます –

+0

ありがとうございました。別の方法でリストビューで画像を取得できました:) –

0

は、コードを以下試してみてください、それはあなたが第二段階でスケーリング調整することができ、スケーリング調整し、負荷

  • 幅と高さを取得するために、2つのステップ

    1. 読むファイル内のファイルを読み込む(コメントを参照してください)あなたのイメージビューに合わせてください。スケーリングを必要としない場合は、1ステップで行うことができます(最初のステップを無視してください)。

      //Read file 
      Options options = new Options(); 
      options.inJustDecodeBounds = true; 
      options.inDither = false; // for older API level 
      options.inPreferredConfig = Bitmap.Config.ARGB_8888; 
      
      BitmapFactory.decodeFile(filename, options); 
      
      if(options.outWidth <= 0 || options.outHeight <= 0) { 
          return null; 
      } 
      
      // scale and load 
      options.inJustDecodeBounds = false; 
      options.inDither = false; 
      options.inPreferredConfig = Bitmap.Config.ARGB_8888; 
      options.inSampleSize = 1; //Adjust scaling 
      
      Bitmap unscaledBitmap = BitmapFactory.decodeFile(filename, options); 
      
    関連する問題