package com.dingmouren.dingdingmusic.ui.volkslied;
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.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.dingmouren.dingdingmusic.MyApplication;
import com.dingmouren.dingdingmusic.R;
import com.dingmouren.dingdingmusic.bean.MusicBean;
import com.dingmouren.dingdingmusic.ui.localmusic.LocalMusicAdapter;
import com.dingmouren.dingdingmusic.ui.rock.RockAdapter;
import java.util.List;
/**
* Created by mouren on 2017/2/7.
*/
public class VolksliedAdapter extends RecyclerView.Adapter<VolksliedAdapter.ViewHolder> {
private List<MusicBean> mList;
private Context mContext;
private LocalMusicAdapter.OnItemClickListener onItemClickListener;
private MusicBean playingBean;//正在播放的歌曲
public VolksliedAdapter(Context context){
this.mContext = context;
}
public void setList(List<MusicBean> list){
this.mList = list;
}
public void setOnItemClickListener(LocalMusicAdapter.OnItemClickListener listener){
this.onItemClickListener = listener;
}
public void showPlaying(MusicBean bean){
this.playingBean = bean;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(mContext).inflate(R.layout.item_volkslied,parent,false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.bindData(mList.get(position),playingBean);
holder.relative_volkslied.setOnClickListener((view -> {
if (null != onItemClickListener){
onItemClickListener.onItemClickListener(holder.relative_volkslied,position);
}
}));
}
@Override
public int getItemCount() {
return null == mList ? 0 : mList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView tvSongName;
TextView tvSingerName;
ImageView imgAlbum;
ImageView fabIsPlay;
RelativeLayout relative_volkslied;
public ViewHolder(View itemView) {
super(itemView);
tvSongName = (TextView) itemView.findViewById(R.id.tv_songname);
tvSingerName = (TextView) itemView.findViewById(R.id.tv_singername);
imgAlbum = (ImageView) itemView.findViewById(R.id.img_album);
fabIsPlay = (ImageView) itemView.findViewById(R.id.fab_isPlay);
relative_volkslied = (RelativeLayout) itemView.findViewById(R.id.relative_volkslied);
}
private void bindData(MusicBean bean,MusicBean playingBean){
if (null != bean){
tvSongName.setText(bean.getSongname());
tvSingerName.setText(bean.getSingername());
Glide.with(mContext).load(bean.getAlbumpic_small()).asBitmap().diskCacheStrategy(DiskCacheStrategy.SOURCE).placeholder(R.mipmap.notification_img_holder).into(imgAlbum);
}
if (null != bean && null != playingBean) {
if (!bean.getSongname().equals(playingBean.getSongname()) && bean.getSongid() !=playingBean.getSongid()) {//先设置没有播放的歌曲的样式,随后设置正在播放歌曲的样式,有点覆盖的意思
fabIsPlay.setVisibility(View.GONE);
}else if (bean.getSongname().equals(playingBean.getSongname())
&& bean.getSingername().equals(playingBean.getSingername())){
fabIsPlay.setVisibility(View.VISIBLE);
Glide.with(MyApplication.mContext).load(R.mipmap.playing).asGif().diskCacheStrategy(DiskCacheStrategy.NONE).into(fabIsPlay);
}
}
}
}
public interface OnItemClickListener{
void onItemClickListener(View view,int position);
}
}