package io.hefuyi.listener.ui.adapter; import android.app.Activity; import android.support.v7.widget.RecyclerView; import android.util.Pair; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.bumptech.glide.Glide; import com.bumptech.glide.load.engine.DiskCacheStrategy; import java.util.List; import io.hefuyi.listener.R; import io.hefuyi.listener.mvp.model.Album; import io.hefuyi.listener.util.ATEUtil; import io.hefuyi.listener.util.ListenerUtil; import io.hefuyi.listener.util.NavigationUtil; /** * Created by hefuyi on 2016/11/24. */ public class ArtistAlbumAdapter extends RecyclerView.Adapter<ArtistAlbumAdapter.ItemHolder>{ private List<Album> arraylist; private Activity mContext; public ArtistAlbumAdapter(Activity context, List<Album> arraylist) { this.arraylist = arraylist; this.mContext = context; } @Override public ItemHolder onCreateViewHolder(ViewGroup viewGroup, int i) { View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_artist_album, viewGroup, false); return new ItemHolder(v); } @Override public void onBindViewHolder(ItemHolder itemHolder, int i) { Album localItem = arraylist.get(i); itemHolder.title.setText(localItem.title); String songCount = ListenerUtil.makeLabel(mContext, R.plurals.Nsongs, localItem.songCount); itemHolder.details.setText(songCount); Glide.with(mContext).load(ListenerUtil.getAlbumArtUri(localItem.id).toString()) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .error(ATEUtil.getDefaultAlbumDrawable(mContext)) .centerCrop() .into(itemHolder.albumArt); if (ListenerUtil.isLollipop()) itemHolder.albumArt.setTransitionName("transition_album_art" + i); } @Override public int getItemCount() { return (null != arraylist ? arraylist.size() : 0); } public class ItemHolder extends RecyclerView.ViewHolder implements View.OnClickListener { TextView title; TextView details; ImageView albumArt; public ItemHolder(View view) { super(view); this.title = (TextView) view.findViewById(R.id.album_title); this.details = (TextView) view.findViewById(R.id.album_details); this.albumArt = (ImageView) view.findViewById(R.id.album_art); view.setOnClickListener(this); } @Override public void onClick(View v) { NavigationUtil.navigateToAlbum(mContext, arraylist.get(getAdapterPosition()).id, arraylist.get(getAdapterPosition()).title, new Pair<View, String>(albumArt, "transition_album_art" + getAdapterPosition())); } } }