package com.metis.base.widget.adapter.holder; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.text.format.Formatter; import android.view.View; import android.widget.ProgressBar; import android.widget.TextView; import com.metis.base.R; import com.metis.base.manager.DownloadManager; import com.metis.base.module.DownloadTaskImpl; import com.metis.base.widget.adapter.delegate.DownloadTaskDelegate; /** * Created by Beak on 2015/10/22. */ public class DownloadTaskHolder extends AbsViewHolder<DownloadTaskDelegate> { private TextView mTitleTv, mSpeedTv, mProgressTv; private ProgressBar mPb = null; public DownloadTaskHolder(View itemView) { super(itemView); mTitleTv = (TextView)itemView.findViewById(R.id.downloading_item_name); mSpeedTv = (TextView)itemView.findViewById(R.id.downloading_item_speed); mProgressTv = (TextView)itemView.findViewById(R.id.downloading_item_progress_in_text); mPb = (ProgressBar)itemView.findViewById(R.id.downloading_item_progress); } @Override public void bindData(final Context context, DownloadTaskDelegate downloadTaskDelegate, RecyclerView.Adapter adapter, int position) { final DownloadTaskImpl task = downloadTaskDelegate.getSource(); mTitleTv.setText(task.getName()); mSpeedTv.setText(Formatter.formatFileSize(context, task.getSpeed()) + "/s"); mProgressTv.setText(Formatter.formatFileSize(context, task.getPosition()) + "/" + Formatter.formatFileSize(context, task.getLength())); mPb.setProgress(downloadTaskDelegate.getSource().getProgress()); itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { DownloadManager.getInstance(context).pauseTask(task.getId()); } }); } }