package io.github.javiewer.adapter;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.widget.CardView;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import io.github.javiewer.R;
import io.github.javiewer.activity.MovieListActivity;
import io.github.javiewer.adapter.item.Genre;
/**
* Project: JAViewer
*/
public class GenreAdapter extends RecyclerView.Adapter<GenreAdapter.ViewHolder> {
private List<Genre> genres;
private Activity mParentActivity;
public GenreAdapter(List<Genre> genres, Activity mParentActivity) {
this.genres = genres;
this.mParentActivity = mParentActivity;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_genre, parent, false);
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(final ViewHolder holder, int position) {
final Genre genre = genres.get(position);
holder.parse(genre);
holder.mCard.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (genre.getLink() != null) {
Intent intent = new Intent(mParentActivity, MovieListActivity.class);
Bundle bundle = new Bundle();
bundle.putString("title", genre.getName());
bundle.putString("link", genre.getLink());
intent.putExtras(bundle);
mParentActivity.startActivity(intent);
}
}
});
}
@Override
public int getItemCount() {
return genres == null ? 0 : genres.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
@BindView(R.id.genre_name)
public TextView mTextName;
@BindView(R.id.card_genre)
public CardView mCard;
public void parse(Genre genre) {
mTextName.setText(genre.getName());
}
public ViewHolder(View view) {
super(view);
ButterKnife.bind(this, view);
}
}
}