From ec6193939600ca7930193b1d5942b1700baf9e06 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期五, 21 二月 2025 09:20:15 +0800 Subject: [PATCH] 1.巡检记录列表页的实现 2.巡检记录地图展示路径的详情页。 3.处理巡检记录详情页因打开同一个网址导致的webView不显示问题。 4.实现地图页搜索后的地图跳转功能。 5.巡检记录详情页数据加载的优化,默认加载本地数据,当本地没有数据时从服务端获取数据。 --- app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 51 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java b/app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java index d41fc68..b4ad6cd 100644 --- a/app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java +++ b/app/src/main/java/com/dayu/pipirrapp/adapter/ImageAdapter.java @@ -1,5 +1,6 @@ package com.dayu.pipirrapp.adapter; +import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -8,7 +9,15 @@ import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.Glide; +import com.bumptech.glide.load.resource.bitmap.CenterCrop; +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.dayu.pipirrapp.R; +import com.dayu.pipirrapp.bean.ImageBean; +import com.dayu.pipirrapp.bean.net.ImageResult; +import com.dayu.pipirrapp.bean.net.UplodFileState; +import com.dayu.pipirrapp.tool.GlideEngine; + +import java.util.List; /** * ImageAdapter - @@ -17,12 +26,16 @@ * @version 1.0 * @since 2024-11-27 */ -public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ImageViewHolder>{ - private String[] imageUrls; // 鍥剧墖鐨� URL 鎴栨湰鍦拌矾寰� +public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ImageViewHolder> { + private List<ImageBean> imageUrls; // 鍥剧墖鐨� URL 鎴栨湰鍦拌矾寰� + private Context mContext; + private OnItemClickListener onItemClickListener; // 鏋勯�犳柟娉� - public ImageAdapter(String[] imageUrls) { + public ImageAdapter(Context context, List<ImageBean> imageUrls, OnItemClickListener onItemClickListener) { this.imageUrls = imageUrls; + this.mContext = context; + this.onItemClickListener = onItemClickListener; } @Override @@ -34,25 +47,56 @@ @Override public void onBindViewHolder(ImageViewHolder holder, int position) { + + ImageBean imageBean=imageUrls.get(position); + if (imageBean.getType()== UplodFileState.VIDEO_TYPE){ + holder.play.setVisibility(View.VISIBLE); + }else { + holder.play.setVisibility(View.GONE); + } // 浣跨敤 Glide 鍔犺浇鍥剧墖鍒� ImageView 涓� Glide.with(holder.itemView.getContext()) - .load(imageUrls[position]) // 鍔犺浇鍥剧墖鐨� URL 鎴栬矾寰� - .thumbnail(0.1f) // 璁剧疆缂╃暐鍥炬瘮渚� + .load(imageBean.getWebPath()) // 鍔犺浇鍥剧墖鐨� URL 鎴栬矾寰� + .thumbnail(0.1f) // 璁剧疆缂╃暐鍥炬瘮渚�' + .transform(new CenterCrop(), new RoundedCorners(8)) + .placeholder(R.drawable.ps_image_placeholder) .into(holder.imageView); + holder.imageView.setOnClickListener(v -> { + onItemClickListener.onItemClick(v, position); + }); + } @Override public int getItemCount() { - return imageUrls.length; + if (imageUrls == null) { + return 0; + } + return imageUrls.size(); } public static class ImageViewHolder extends RecyclerView.ViewHolder { ImageView imageView; + ImageView play; public ImageViewHolder(View itemView) { super(itemView); -// imageView = itemView.findViewById(R.id.thumbnailImageView); + imageView = itemView.findViewById(R.id.thumbnailImageView); + play=itemView.findViewById(R.id.item_play); } } + + public interface OnItemClickListener { + /** + * Item click event + * + * @param v + * @param position + */ + void onItemClick(View v, int position); + + } + + } -- Gitblit v1.8.0