Last active
August 10, 2020 05:43
-
-
Save bengongon97/681b7a51099b0d4bf63ab3aeb4bbb758 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class PlaylistAdapter extends RecyclerView.Adapter<PlaylistAdapter.PlayListView> { | |
public interface OnItemClickListener { | |
void onItemClick (List<HwAudioPlayItem> myPlayList, int position); | |
} | |
private PlaylistAdapter.OnItemClickListener onItemClickListener; | |
List<HwAudioPlayItem> myPlayList; | |
public PlaylistAdapter(List<HwAudioPlayItem> myPlayList){ | |
this.myPlayList = myPlayList; | |
} | |
public void setOnItemClickListener(PlaylistAdapter.OnItemClickListener onItemClickListener) { | |
this.onItemClickListener = onItemClickListener; | |
} | |
static class PlayListView extends RecyclerView.ViewHolder { | |
TextView songNameTextView; | |
TextView songArtistTextView; | |
TextView durationTextView; | |
ImageView moreOptionsImageView; | |
public PlayListView(View itemView) { | |
super(itemView); | |
songNameTextView = itemView.findViewById(R.id.songTitleTextView); | |
songArtistTextView = itemView.findViewById(R.id.songArtistTextView); | |
durationTextView = itemView.findViewById(R.id.durationTextView); | |
moreOptionsImageView = itemView.findViewById(R.id.moreOptionsImageView); | |
} | |
} | |
@NonNull | |
@Override | |
public PlayListView onCreateViewHolder(ViewGroup parent, int viewType) { | |
View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.playlist_detail_layout, parent, false); | |
return new PlayListView(layoutView); | |
} | |
@Override | |
public void onBindViewHolder(final PlayListView holder, final int position) { | |
HwAudioPlayItem currentItem = myPlayList.get(holder.getAdapterPosition()); | |
holder.songNameTextView.setText(currentItem.getAudioTitle()); | |
holder.songArtistTextView.setText(currentItem.getSinger()); | |
long durationOfSong = currentItem.getDuration(); | |
String totalDurationText = String.format(Locale.US, "%02d:%02d", | |
TimeUnit.MILLISECONDS.toMinutes(durationOfSong), | |
TimeUnit.MILLISECONDS.toSeconds(durationOfSong) - | |
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(durationOfSong)) | |
); | |
holder.durationTextView.setText(totalDurationText); | |
holder.itemView.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
if(onItemClickListener != null) { | |
onItemClickListener.onItemClick(myPlayList, position); | |
} | |
} | |
}); | |
} | |
@Override | |
public int getItemCount() { | |
return myPlayList.size(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment