From 092bf21368ea824e9dc22467166960219165dc00 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 21 二月 2025 17:32:59 +0800
Subject: [PATCH] 1.我的界面每个item添加点击效果。 2.更新本地数据添加二次确认。
---
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