From 51e977ecf8b086b5402271486fb87c2f57d641f2 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期四, 02 一月 2025 09:23:24 +0800 Subject: [PATCH] 添加视频上传的部分功能 --- app/src/main/java/com/dayu/pipirrapp/adapter/AddPictureAdapter.java | 59 ++++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 36 insertions(+), 23 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 b30b0fa..71b52a3 100644 --- a/app/src/main/java/com/dayu/pipirrapp/adapter/AddPictureAdapter.java +++ b/app/src/main/java/com/dayu/pipirrapp/adapter/AddPictureAdapter.java @@ -2,6 +2,7 @@ import android.content.Context; import android.net.Uri; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -44,7 +45,7 @@ private final ArrayList<LocalMedia> list = new ArrayList<>(); Map<String, UplodFileState> fileStates; private int selectMax = 9; - private Context mContext; + private final Context mContext; public AddPictureAdapter(Context context, List<LocalMedia> result, Map<String, UplodFileState> fileStates) { @@ -162,26 +163,38 @@ } // 鏇存柊杩涘害 - UplodFileState uplodFileState = fileStates.get(media.getCompressPath()); - uplodFileState.setAdapterPosition(position); - MyLog.d("progressRequestBodyHolder>>>" + "State:" + uplodFileState.getState() + ">>>position:" + position + ">>>Progress: " + uplodFileState.getProgress()); - - if (uplodFileState.getState() == UplodFileState.STATE_UPDING) { - 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) { - viewHolder.maskLayerBg.setVisibility(View.GONE); - viewHolder.circleProgressView.setVisibility(View.GONE); + UplodFileState uplodFileState; + if (TextUtils.isEmpty(media.getCompressPath())) { + uplodFileState = fileStates.get(media.getRealPath()); } else { - viewHolder.maskLayerBg.setVisibility(View.VISIBLE); + uplodFileState = fileStates.get(media.getCompressPath()); } + + + if (uplodFileState != null) { + uplodFileState.setAdapterPosition(position); + MyLog.d("progressRequestBodyHolder>>>" + "State:" + uplodFileState.getState() + ">>>position:" + position + ">>>Progress: " + uplodFileState.getProgress()); + + if (uplodFileState.getState() == UplodFileState.STATE_UPDING) { + 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) { + viewHolder.maskLayerBg.setVisibility(View.GONE); + viewHolder.circleProgressView.setVisibility(View.GONE); + } else { + viewHolder.maskLayerBg.setVisibility(View.VISIBLE); + viewHolder.postError.setVisibility(View.VISIBLE); + viewHolder.circleProgressView.setVisibility(View.GONE); + } + } + //itemView 鐨勭偣鍑讳簨浠� if (mItemClickListener != null) { @@ -211,7 +224,7 @@ // 鏇存柊杩涘害鍙傛暟 if (fileStates.containsKey(uplodFileState.getFilePath())) { - if (uplodFileState.getState()==0){ + if (uplodFileState.getState() == 0) { // 鑾峰彇宸叉湁鐨� UplodFileState 瀵硅薄骞舵洿鏂拌繘搴� UplodFileState existingState = fileStates.get(uplodFileState.getFilePath()); existingState.setProgress(uplodFileState.getProgress()); // 鏇存柊杩涘害 @@ -221,7 +234,7 @@ // 閫氱煡閫傞厤鍣ㄥ埛鏂版寚瀹氫綅缃殑椤� notifyItemChanged(position); } - }else if (uplodFileState.getState()==2){ + } else if (uplodFileState.getState() == 2) { } @@ -294,8 +307,8 @@ mIvDel = view.findViewById(R.id.iv_del); tvDuration = view.findViewById(R.id.tv_duration); circleProgressView = view.findViewById(R.id.cpv); - maskLayerBg=view.findViewById(R.id.mask_layer_bg); - postError=view.findViewById(R.id.postError); + maskLayerBg = view.findViewById(R.id.mask_layer_bg); + postError = view.findViewById(R.id.postError); } } -- Gitblit v1.8.0