From 7be66bc9663c1106ebc78748dc22f394680ac86b Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 29 十二月 2020 09:57:09 +0800
Subject: [PATCH] 1. 修复场景地图界面选择场景点时可能由于列表下标越界导致崩溃问题; 2. 修复自定义PagerAdapter时,没有重写destroyItem可能会导致的崩溃问题; 3. 修改数据库实体类MediaTypeAlias的主键id类型从龙变更为Long,否则无法自增; 4. 新增部分列表相关的工具函数;

---
 app/src/main/java/cn/flightfeather/thirdapp/adapter/PhotoListAdapter.java |   47 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 32 insertions(+), 15 deletions(-)

diff --git a/app/src/main/java/cn/flightfeather/thirdapp/adapter/PhotoListAdapter.java b/app/src/main/java/cn/flightfeather/thirdapp/adapter/PhotoListAdapter.java
index 2935097..9e6a2c8 100644
--- a/app/src/main/java/cn/flightfeather/thirdapp/adapter/PhotoListAdapter.java
+++ b/app/src/main/java/cn/flightfeather/thirdapp/adapter/PhotoListAdapter.java
@@ -1,6 +1,6 @@
 package cn.flightfeather.thirdapp.adapter;
 
-import android.content.Context;
+import android.app.Activity;
 import android.os.Environment;
 import android.support.v7.widget.RecyclerView;
 import android.util.Log;
@@ -9,13 +9,14 @@
 import android.view.ViewGroup;
 import android.widget.ImageView;
 
+import com.bumptech.glide.Glide;
+
 import java.io.File;
 import java.util.List;
 
 import cn.flightfeather.thirdapp.R;
-import cn.flightfeather.thirdapp.bean.Mediafile;
+import cn.flightfeather.thirdapp.bean.entity.Mediafile;
 import cn.flightfeather.thirdapp.task.DownloadAndSetImageTask;
-import cn.flightfeather.thirdapp.task.SetImageTask;
 
 /**
  * Created by note_ff_1602 on 2018/1/30.
@@ -23,13 +24,13 @@
 
 public class PhotoListAdapter extends RecyclerView.Adapter<PhotoListAdapter.PhotoListHolder> {
     private List<Mediafile> mediafileList;
-    private Context context;
+    private Activity activity;
     private LayoutInflater layoutInflater;
 
-    public PhotoListAdapter(List<Mediafile> mediafileList, Context context) {
+    public PhotoListAdapter(List<Mediafile> mediafileList, Activity activity) {
         this.mediafileList = mediafileList;
-        this.context = context;
-        layoutInflater = LayoutInflater.from(context);
+        this.activity = activity;
+        layoutInflater = LayoutInflater.from(activity);
     }
 
     @Override
@@ -41,14 +42,30 @@
     @Override
     public void onBindViewHolder(PhotoListHolder holder, int position) {
         Mediafile mediafile = mediafileList.get(position);
-        File file = new File(Environment.getExternalStorageDirectory(),mediafile.getPath()+mediafile.getDescription());
-        if (file.exists()){
-            SetImageTask task = new SetImageTask(file,holder.iv_photo);
-            task.execute();
-        }else {
-            DownloadAndSetImageTask task = new DownloadAndSetImageTask(mediafile,holder.iv_photo,context);
-            task.execute();
-            Log.e("photolist",position+" no image found");
+
+        if (mediafile.getGuid() == null) {
+            Glide.with(activity)
+                    .load(R.drawable.icon_add_photo)
+                    .into(holder.iv_photo);
+        } else {
+//        String url = CommonApplication.getInstance().ROOT_URL_RELEASE_IMAGE + mediafile.getExtension1() + mediafile.getGuid() + ".jpg";
+//        Glide.with(context).asDrawable().load(url).override(100,100).skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.ALL).into(holder.iv_photo);
+
+            File file = new File(Environment.getExternalStorageDirectory(), mediafile.getPath() + mediafile.getDescription());
+            if (file.exists()) {
+//            SetImageTask task = new SetImageTask(file,holder.iv_photo);
+//            task.execute();
+//            String url = CommonApplication.getInstance().ROOT_URL_RELEASE_IMAGE + mediafile.getExtension1() + mediafile.getGuid() + ".jpg";
+                Glide.with(activity)
+                        .load(file)
+                        .placeholder(R.drawable.icon_add_photo_waite)
+                        .override(100, 100)
+                        .into(holder.iv_photo);
+            } else {
+                DownloadAndSetImageTask task = new DownloadAndSetImageTask(mediafile, holder.iv_photo, activity);
+                task.execute();
+                Log.e("photolist", position + " no image found");
+            }
         }
     }
 

--
Gitblit v1.9.3