From 1a75aee32768d7e2de85f49173664d39dfbdb130 Mon Sep 17 00:00:00 2001 From: huangjian Date: Fri, 13 May 2022 21:01:14 +0800 Subject: [PATCH] =?UTF-8?q?VIP=E5=9D=91=E4=BD=8D=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E8=A1=A8=E6=83=85=E5=92=8C=E5=85=89=E5=9C=88?= =?UTF-8?q?bug=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erban/avroom/widget/MicroView.java | 35 +++++++------------ 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/yizhuan/erban/avroom/widget/MicroView.java b/app/src/main/java/com/yizhuan/erban/avroom/widget/MicroView.java index 7398ee3a2..b0589e359 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/widget/MicroView.java +++ b/app/src/main/java/com/yizhuan/erban/avroom/widget/MicroView.java @@ -13,6 +13,7 @@ import android.widget.ImageView; import android.widget.LinearLayout; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.opensource.svgaplayer.SVGADrawable; @@ -22,14 +23,11 @@ import com.opensource.svgaplayer.SVGAVideoEntity; import com.yizhuan.erban.R; import com.yizhuan.erban.avroom.adapter.BaseMicroViewAdapter; import com.yizhuan.erban.avroom.adapter.DatingMicroViewAdapter; -import com.yizhuan.erban.avroom.adapter.GameMicroViewAdapter; -import com.yizhuan.erban.avroom.adapter.GameMiniMicroViewAdapter; import com.yizhuan.erban.avroom.adapter.OnMicroItemClickListener; import com.yizhuan.erban.ui.anim.AnimFactory; import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil; import com.yizhuan.erban.ui.widget.recyclerview.decoration.DatingItemDecoration; import com.yizhuan.xchat_android_core.bean.RoomQueueInfo; -import com.yizhuan.xchat_android_core.im.custom.bean.FaceAttachment; import com.yizhuan.xchat_android_core.manager.AvRoomDataManager; import com.yizhuan.xchat_android_core.manager.IMNetEaseManager; import com.yizhuan.xchat_android_core.manager.RoomEvent; @@ -199,14 +197,7 @@ public class MicroView extends LinearLayout implements View.OnLayoutChangeListen int pos = positions.get(i) + 1; if (pos >= count && pos != AvRoomDataManager.POSITION_VIP_MIC + 1) continue; - final SVGAImageView speakState; - //相亲模式VIP位置光圈 - if (pos == AvRoomDataManager.POSITION_VIP_MIC + 1) { - speakState = ((RecyclerView) findItemView(pos).findViewById(R.id.rv_vip)) - .getChildAt(0).findViewById(R.id.iv_halo); - } else { - speakState = findItemView(pos).findViewById(R.id.iv_halo); - } + final SVGAImageView speakState = findItemView(pos, R.id.iv_halo); if (speakState != null) { RoomQueueInfo roomQueueInfo = AvRoomDataManager.get().getRoomQueueMemberInfoByMicPosition(positions.get(i)); @@ -273,12 +264,17 @@ public class MicroView extends LinearLayout implements View.OnLayoutChangeListen } } - private View findItemView(int pos) { - RecyclerView.ViewHolder viewHolder = recyclerView.findViewHolderForLayoutPosition(pos); - if (viewHolder != null) { - return viewHolder.itemView; + @Nullable + private T findItemView(int pos, int viewId) { + if (pos == AvRoomDataManager.POSITION_VIP_MIC + 1) { + return ((RecyclerView) recyclerView.getChildAt(0).findViewById(R.id.rv_vip)) + .getChildAt(0).findViewById(viewId); + } else { + RecyclerView.ViewHolder viewHolder = recyclerView.findViewHolderForLayoutPosition(pos); + if (viewHolder == null) return null; + return viewHolder.itemView.findViewById(viewId); } - return recyclerView.getChildAt(pos); + } @Subscribe(threadMode = ThreadMode.MAIN) @@ -309,12 +305,7 @@ public class MicroView extends LinearLayout implements View.OnLayoutChangeListen if (isDragon) { return; } else { - if (position == AvRoomDataManager.POSITION_VIP_MIC + 1) { - imageView = ((RecyclerView) findItemView(position + 1).findViewById(R.id.rv_vip)) - .getChildAt(0).findViewById(R.id.iv_face); - } else { - imageView = findItemView(position + 1).findViewById(R.id.iv_face); - } + imageView = findItemView(position + 1, R.id.iv_face); } if (imageView == null) continue; AnimFactory.getFaceAnimation(faceReceiveInfo, mContext, imageView.getWidth(), imageView.getHeight(), needAnim, needResult, needGone)