package com.metis.base.widget.adapter;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import com.metis.base.widget.adapter.delegate.AbsDelegate;
import com.metis.base.widget.adapter.delegate.DownloadTaskDelegate;
import com.metis.base.widget.adapter.holder.AbsViewHolder;
import com.metis.base.widget.adapter.holder.DownloadTaskHolder;
/**
* Created by Beak on 2015/10/22.
*/
public class DownloadingAdapter extends DelegateAdapter {
public DownloadingAdapter(Context context) {
super(context);
}
@Override
public AbsViewHolder onCreateAbsViewHolder(ViewGroup parent, int viewType, View view) {
switch (viewType) {
case MeDelegateType.ID.ID_DOWNLOADING_ITEM:
return new DownloadTaskHolder(view);
}
return null;
}
public int getTaskIndexById (String id) {
final int length = getItemCount();
for (int i = 0; i < length; i++) {
AbsDelegate delegate = getDataItem(i);
if (delegate instanceof DownloadTaskDelegate) {
if (((DownloadTaskDelegate) delegate).getSource().getId().equals(id)) {
return i;
}
}
}
return -1;
}
public void removeTaskItem (String id) {
int index = getTaskIndexById(id);
if (index < 0) {
return;
}
removeDataItem(index);
notifyDataSetChanged();
}
}