package com.qtfreet.musicuu.ui.adapter; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import com.blankj.utilcode.utils.ConvertUtils; import com.qtfreet.musicuu.R; import com.qtfreet.musicuu.model.Bean.MusicUU.resultBean; import com.qtfreet.musicuu.model.OnMusicClickListener; import com.qtfreet.musicuu.musicApi.MusicService.SongResult; import com.squareup.picasso.Picasso; import com.yanzhenjie.recyclerview.swipe.SwipeMenuAdapter; import java.util.List; import butterknife.Bind; import butterknife.ButterKnife; public class SongDetailAdapter extends SwipeMenuAdapter<SongDetailAdapter.ViewHolder> { private OnMusicClickListener onItemClickListener; private List<SongResult> mSongs; private Context mContext; public void setOnMusicClickListener(OnMusicClickListener listener) { this.onItemClickListener = listener; } public SongDetailAdapter(Context context, List<SongResult> songs) { mSongs = songs; mContext = context; } @Override public View onCreateContentView(ViewGroup parent, int viewType) { return LayoutInflater. from(parent.getContext()). inflate(R.layout.item_music_list, parent, false); } @Override public ViewHolder onCompatCreateViewHolder(View realContentView, int viewType) { return new ViewHolder(realContentView); } @Override public void onBindViewHolder(final ViewHolder holder, final int position) { final SongResult song = mSongs.get(position); String url = song.getPicUrl(); holder.mImageView.setTag(url); int size = ConvertUtils.dp2px(mContext, 90); if (url != null) { if (!url.isEmpty()) { Picasso.with(mContext).load(url).resize(size, size).centerCrop().into(holder.mImageView); } } holder.mSongName.setText(song.getSongName()); holder.mSinger.setText(song.getArtistName() + "-" + song.getAlbumName()); } @Override public int getItemCount() { return mSongs.size(); } class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { @Bind(R.id.rl_item_main) RelativeLayout mRelativeLayout; @Bind(R.id.iv_item_music) ImageView mImageView; @Bind(R.id.tv_item_song_name) TextView mSongName; @Bind(R.id.tv_item_singer) TextView mSinger; public ViewHolder(View itemView) { super(itemView); ButterKnife.bind(this, itemView); itemView.setOnClickListener(this); } @Override public void onClick(View view) { if (onItemClickListener != null) { onItemClickListener.Music(view, getAdapterPosition()); } } } }