2014-06-07 27 views
18

tôi cần tải hình ảnh từ thẻ Sd vào chế độ xem lưới. Đối với hiệu quả Tôi đang sử dụng Picasso Thư việnCách tải hình ảnh từ thẻ SD bằng thư viện Picasso

Picasso.with(activity).load(images.get(position).getDataPath()) 
      .resize(96, 96).centerCrop().into(viewHolder.image); 

tôi đã sử dụng đoạn mã sau vào adapter. tiếc là tôi không thể xem bất kỳ hình ảnh nào vì vậy, vui lòng giúp đỡ bất kỳ ai.

Lưu ý Và cũng có thể bất kỳ ai đề xuất bất kỳ thư viện tải hình ảnh hiệu quả nào để tải hình ảnh từ thẻ sd.

Yêu cầu Tôi không tải hình ảnh mỗi khi di chuyển. Nếu nó đã được nạp dont tải hình ảnh trên di chuyển

+0

bạn có thể chỉ cho tôi cách dữ liệu của bạn con đường trông như thế nào? –

Trả lời

44

Để tải các tập tin mà bạn cần phải chuyển đổi nó vào một uri đầu tiên

Uri uri = Uri.fromFile(new File(images.get(position).getDataPath())); 

Picasso.with(activity).load(uri) 
      .resize(96, 96).centerCrop().into(viewHolder.image); 

Yêu cầu Tôi không để tải hình ảnh mỗi khi di chuyển. Nếu nó đã được nạp dont tải hình ảnh trên di chuyển

  • Picasso là tuyệt vời cho việc này
+3

Xin lỗi để nói .. it didnt work .. – user3607798

+0

bạn có thể dán cách datapath của bạn trông giống như –

+0

"/storage/extSdCard/Images/sjj-001.jpg"; – user3607798

6

Trong Picasso phiên bản 2.5.2, bạn cần phải vượt qua một tập tin như là đối số để nạp phương pháp, vì vậy các hình ảnh có thể được nạp như:

Picasso.with(context).load(new File(images.get(position).getDataPath())) 
    .resize(96, 96).centerCrop().into(viewHolder.image); 
3

tôi không muốn tạo ra một new File vì nếu đường dẫn đã được lấy từ một tập tin hiện có, không có nhu cầu về một ob mới ject (muốn xem ảnh đã có trong thiết bị).

Theo Picasso tài liệu bạn phải làm một cái gì đó như thế này: file:///android_asset/DvpvklR.png

Vì vậy, tôi đã từng có: /storage/sdcard/Pictures/findyoursport/yoursport_1482358052384.jpeg

prepending: file:// đã làm các trick

Các vấn đề liên quan