package com.linroid.sky31radio.ui.adapter; 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.TextView; import com.linroid.sky31radio.R; import com.linroid.sky31radio.model.Program; import com.linroid.sky31radio.utils.RadioUtils; import com.squareup.picasso.Picasso; import java.util.ArrayList; import java.util.List; import butterknife.ButterKnife; import butterknife.InjectView; /** * Created by linroid on 1/14/15. */ public class ProgramAdapter extends RecyclerView.Adapter<ProgramAdapter.ViewHolder>{ List<Program> programList = new ArrayList<>(); Picasso picasso; public ProgramAdapter(Picasso picasso) { this.picasso = picasso; } @Override public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { LayoutInflater inflater = LayoutInflater.from(viewGroup.getContext()); View view = inflater.inflate(R.layout.list_program, viewGroup, false); return new ViewHolder(view); } @Override public void onBindViewHolder(ViewHolder holder, int i) { Program program = programList.get(i); holder.titleTV.setText(program.getTitle()); holder.authorTV.setText(program.getAuthor()); picasso.load(program.getThumbnail()) .placeholder(R.drawable.holde_image) .into(holder.thumbnailIV); } @Override public int getItemCount() { return programList==null ? 0 : programList.size(); } public void setListData(List<Program> listData) { this.programList.clear(); this.programList = listData; } public void addMoreData(List<Program> moreData){ this.programList.addAll(moreData); } public List<Program> getProgramList() { return programList; } class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { @InjectView(R.id.thumbnail) ImageView thumbnailIV; @InjectView(R.id.title) TextView titleTV; @InjectView(R.id.author) TextView authorTV; public ViewHolder(View itemView) { super(itemView); ButterKnife.inject(this, itemView); itemView.setOnClickListener(this); } @Override public void onClick(View v) { int position = getPosition(); RadioUtils.sendPlayList(v.getContext(), programList, position); } } }