2016-06-22 30 views
0

フレスコ画を使用してRecyclerViewに画像を表示しようとしています。私は自分のファイルシステムに画像を持っていて、画像の場所はStringの形式でSimpleDraweeViewに表示したいと思います。しかし、この見方で私は空のイメージを持っています。ログにエラーは表示されません。誰でも助けてくれますか?ここで私は画像を設定しようとしている私のコードです:ウリパーサが正しい結果を返すようフレスコ画に画像が表示されません

imageView.setVisibility(View.VISIBLE); 
    if (new File(imageData.getLocation()).exists()){ 
     Uri fileLocationUri = Uri.parse("file:/" + imageData.getLocation()); 
     ImageRequest request = ImageRequest.fromUri(fileLocationUri); 
     DraweeController controller = Fresco.newDraweeControllerBuilder() 
       .setImageRequest(request) 
       .setOldController(imageView.getController()) 
       .setAutoPlayAnimations(true) 
       .build(); 
     imageView.setController(controller); 
    } 

画像の場所は、/で始まった文字列です。 XMLファイル:

<com.facebook.drawee.view.SimpleDraweeView 
     a:id = "@+id/outgoing_photo_view" 
     a:layout_width="300dp" 
     a:layout_height="300dp" 
     a:adjustViewBounds="true" 
     a:visibility="gone" 
     fresco:actualImageScaleType="focusCrop" 
     fresco:placeholderImageScaleType="fitCenter" 
     fresco:failureImageScaleType="centerInside" 
     fresco:retryImageScaleType="centerCrop" 
     fresco:roundAsCircle="false" 
     fresco:roundedCornerRadius="1dp" 
     fresco:roundTopLeft="true" 
     fresco:roundTopRight="false" 
     fresco:roundBottomLeft="false" 
     fresco:roundBottomRight="true" 
     fresco:roundingBorderWidth="2dp"/> 
+0

? @VishnuM。 –

+0

。コードでは、可視性を可視に設定します。私は空の広場を持っていますが、私はそれを持っています。 –

答えて

1

あなたのファイルURIは無効です。

それはこのようなもので動作します:あなたはSimpleDraweeViewになくなっに設定可視性を持っているので、それができる

File file = ... // your file 
Uri uri = Uri.fromFile(file); // to get a valid file:// URI 
DraweeController controller = Fresco.newDraweeControllerBuilder() 
     .setUri(uri) 
     .build(); 
+0

それは仕事ですが、画像をスクロールするときには非常に凍っています。プロファイラは、 'Uri.fromFile()'があまりにも多くのリソースを取ると言います。 –

+1

URIとコントローラを事前に準備するのが理想です。 [LocalResourceSimpleAdapter](https://github.com/facebook/fresco/blob/master/samples/scrollperf/src/main/java/com/facebook/)ローカルイメージのリストについては、このサンプルアダプタを参照してください。サンプル/ scrollperf/data/impl/LocalResourceSimpleAdapter.java) これは遅延ロードまたは事前にURIを作成するための2つのバリエーションがあります - 'mLazy'を参照してください。 –

関連する問題