From 135b1b2d9845e5da5ec4ac96b1ce303e596584a3 Mon Sep 17 00:00:00 2001 From: px4lqzo5h <2148135761@qq.com> Date: Mon, 16 Dec 2024 14:15:32 +0800 Subject: [PATCH] Update AlbumSongAdapter.java --- .../musicplayer/adapter/AlbumSongAdapter.java | 62 ++++++++++++++++--- 1 file changed, 53 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/example/musicplayer/adapter/AlbumSongAdapter.java b/app/src/main/java/com/example/musicplayer/adapter/AlbumSongAdapter.java index 392686d..1a198f1 100644 --- a/app/src/main/java/com/example/musicplayer/adapter/AlbumSongAdapter.java +++ b/app/src/main/java/com/example/musicplayer/adapter/AlbumSongAdapter.java @@ -17,34 +17,53 @@ import com.example.musicplayer.util.FileUtil; import java.util.List; /** - * Created by 残渊 on 2018/11/27. + * AlbumSongAdapter 是一个继承自 RecyclerView.Adapter 的适配器类,用于展示专辑中的歌曲列表。 */ - public class AlbumSongAdapter extends RecyclerView.Adapter { + // 存储歌曲数据的列表 private List mSongsBeanList; + // 记录上一次点击的位置 private int mLastPosition = -1; + // 点击事件的回调接口 private OnItemClickListener mSongClick; + // 歌曲类型的视图类型 private final int songType = 1; + // 底部视图的类型 private final int footerType = 2; + /** + * 构造函数,初始化歌曲列表。 + * @param songsBeans 歌曲数据列表 + */ public AlbumSongAdapter(List songsBeans) { mSongsBeanList = songsBeans; } + /** + * 设置歌曲点击事件的回调接口。 + * @param songClick 点击事件回调 + */ public void setSongClick(OnItemClickListener songClick) { mSongClick = songClick; } + /** + * 创建新的ViewHolder实例。 + * @param parent 父布局 + * @param viewType 视图类型 + * @return 返回对应的ViewHolder + */ @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + // 根据视图类型创建不同的ViewHolder if (viewType == songType) { View view = LayoutInflater.from(parent.getContext()) .inflate(R.layout.recycler_song_search_item, parent, false); ViewHolder viewHolder = new ViewHolder(view); return viewHolder; - }else{ + } else { View view = LayoutInflater.from(parent.getContext()) .inflate(R.layout.footer_view_player_height, parent, false); FooterHolder footerHolder = new FooterHolder(view); @@ -52,12 +71,18 @@ public class AlbumSongAdapter extends RecyclerView.Adapter { mSongClick.onClick(position); equalPosition(position); @@ -83,16 +109,28 @@ public class AlbumSongAdapter extends RecyclerView.Adapter