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/AddPictureAdapter.java | 49 ++++++++++++++++++++++++++++---------------------
1 files changed, 28 insertions(+), 21 deletions(-)
diff --git a/app/src/main/java/com/dayu/pipirrapp/adapter/AddPictureAdapter.java b/app/src/main/java/com/dayu/pipirrapp/adapter/AddPictureAdapter.java
index 71b52a3..94c9611 100644
--- a/app/src/main/java/com/dayu/pipirrapp/adapter/AddPictureAdapter.java
+++ b/app/src/main/java/com/dayu/pipirrapp/adapter/AddPictureAdapter.java
@@ -122,6 +122,7 @@
});
viewHolder.mIvDel.setVisibility(View.INVISIBLE);
viewHolder.circleProgressView.setVisibility(View.GONE);
+ viewHolder.maskLayerBg.setVisibility(View.GONE);
} else {
//鍒犻櫎鍥剧墖
viewHolder.mIvDel.setVisibility(View.VISIBLE);
@@ -159,36 +160,36 @@
.centerCrop()
.placeholder(R.color.app_color_f6)
.diskCacheStrategy(DiskCacheStrategy.ALL)
+ .thumbnail(0.25f)
.into(viewHolder.mImg);
}
// 鏇存柊杩涘害
- UplodFileState uplodFileState;
- if (TextUtils.isEmpty(media.getCompressPath())) {
- uplodFileState = fileStates.get(media.getRealPath());
- } else {
- uplodFileState = fileStates.get(media.getCompressPath());
- }
-
-
+ UplodFileState uplodFileState = TextUtils.isEmpty(media.getCompressPath())
+ ? fileStates.get(media.getRealPath())
+ : fileStates.get(media.getCompressPath());
if (uplodFileState != null) {
+ MyLog.d("progressRequestBodyHolder>>>" + "path:" + uplodFileState.getFilePath() + ">>>position:" + position);
uplodFileState.setAdapterPosition(position);
MyLog.d("progressRequestBodyHolder>>>" + "State:" + uplodFileState.getState() + ">>>position:" + position + ">>>Progress: " + uplodFileState.getProgress());
if (uplodFileState.getState() == UplodFileState.STATE_UPDING) {
+ MyLog.d("progressRequestBodyHolder>>>" + "姝e湪涓婁紶");
+ viewHolder.postError.setVisibility(View.GONE);
if (uplodFileState.getProgress() < 100) {
viewHolder.maskLayerBg.setVisibility(View.VISIBLE);
viewHolder.circleProgressView.setVisibility(View.VISIBLE);
viewHolder.circleProgressView.setProgress(uplodFileState.getProgress());
-
} else {
viewHolder.circleProgressView.setVisibility(View.GONE);
viewHolder.maskLayerBg.setVisibility(View.GONE);
}
- } else if (fileStates.get(media.getCompressPath()).getState() == UplodFileState.STATE_DONE) {
+ } else if (uplodFileState.getState() == UplodFileState.STATE_DONE) {
+ MyLog.d("progressRequestBodyHolder>>>" + "瀹屾垚");
viewHolder.maskLayerBg.setVisibility(View.GONE);
viewHolder.circleProgressView.setVisibility(View.GONE);
} else {
+ MyLog.d("progressRequestBodyHolder>>>" + "閿欒");
viewHolder.maskLayerBg.setVisibility(View.VISIBLE);
viewHolder.postError.setVisibility(View.VISIBLE);
viewHolder.circleProgressView.setVisibility(View.GONE);
@@ -202,11 +203,14 @@
int adapterPosition = viewHolder.getAbsoluteAdapterPosition();
mItemClickListener.onItemClick(v, adapterPosition);
});
+ viewHolder.postError.setOnClickListener(v -> {
+ mItemClickListener.onReUpload(uplodFileState);
+ });
}
if (mItemLongClickListener != null) {
viewHolder.itemView.setOnLongClickListener(v -> {
- int adapterPosition = viewHolder.getAbsoluteAdapterPosition();
+ int adapterPosition = viewHolder.getBindingAdapterPosition();
mItemLongClickListener.onItemLongClick(viewHolder, adapterPosition, v);
return true;
});
@@ -224,20 +228,18 @@
// 鏇存柊杩涘害鍙傛暟
if (fileStates.containsKey(uplodFileState.getFilePath())) {
+ // 鑾峰彇宸叉湁鐨� UplodFileState 瀵硅薄骞舵洿鏂拌繘搴�
+ UplodFileState existingState = fileStates.get(uplodFileState.getFilePath());
+ int position = existingState.getAdapterPosition();
+ existingState.setState(uplodFileState.getState());
if (uplodFileState.getState() == 0) {
- // 鑾峰彇宸叉湁鐨� UplodFileState 瀵硅薄骞舵洿鏂拌繘搴�
- UplodFileState existingState = fileStates.get(uplodFileState.getFilePath());
+ existingState.setState(uplodFileState.getState());
existingState.setProgress(uplodFileState.getProgress()); // 鏇存柊杩涘害
// 鑾峰彇杩涘害鏇存柊椤圭殑浣嶇疆
- int position = existingState.getAdapterPosition();
- if (position != RecyclerView.NO_POSITION) {
- // 閫氱煡閫傞厤鍣ㄥ埛鏂版寚瀹氫綅缃殑椤�
- notifyItemChanged(position);
- }
- } else if (uplodFileState.getState() == 2) {
-
}
-
+ if (position != RecyclerView.NO_POSITION) {
+ notifyItemChanged(position);
+ }
}
}
@@ -267,6 +269,11 @@
* @param position
*/
void onDeleteClick(int position);
+
+ /**
+ * 涓婁紶澶辫触鍚庨噸鏂颁笂浼�
+ */
+ void onReUpload(UplodFileState uplodFileState);
}
private OnItemLongClickListener mItemLongClickListener;
--
Gitblit v1.8.0