package com.dxjia.doubantop.adapters;
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.dxjia.doubantop.R;
import com.dxjia.doubantop.datas.Favorites;
import com.dxjia.doubantop.interfaces.FavoritesItemClickListener;
import java.util.List;
import butterknife.ButterKnife;
/**
* Created by 德祥 on 2015/7/6.
*/
public class FavoritesAdapter extends RecyclerView.Adapter<FavoritesAdapter.ViewHolder> implements View.OnClickListener {
private List<Favorites> mDatasList;
public FavoritesAdapter(List<Favorites> datasList) {
mDatasList = datasList;
}
private FavoritesItemClickListener mItemClickListener;
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.favorates_item, parent,false);
view.setOnClickListener(this);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.updateViews(mDatasList.get(position));
holder.itemView.setTag(mDatasList.get(position));
}
@Override
public int getItemCount() {
return mDatasList != null ? mDatasList.size() : 0;
}
public void setItemClickListener(FavoritesItemClickListener listener) {
mItemClickListener = listener;
}
@Override
public void onClick(View v) {
if (mItemClickListener != null) {
mItemClickListener.onItemClick(v, (Favorites)v.getTag());
}
}
public class ViewHolder extends RecyclerView.ViewHolder {
private TextView mTitleView;
private ImageView mImageBtn;
private Favorites mFavorites;
public ViewHolder(View itemView) {
super(itemView);
mTitleView = ButterKnife.findById(itemView, R.id.favorites_item_title);
mImageBtn = ButterKnife.findById(itemView, R.id.image_btn_delete_item);
}
public void updateViews(final Favorites favorites) {
mTitleView.setText(favorites.getMovieTitle());
mImageBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int index = mDatasList.indexOf(favorites);
if (index < 0) {
return;
}
favorites.delete();
mDatasList.remove(index);
notifyItemRemoved(index);
}
});
}
}
}