package com.novoda.todoapp.tasks.view;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import com.novoda.todoapp.R;
import com.novoda.todoapp.tasks.data.model.Tasks;
import com.novoda.todoapp.tasks.displayer.TasksActionListener;
public class TasksAdapter extends RecyclerView.Adapter<TaskViewHolder> {
private final LayoutInflater layoutInflater;
private Tasks tasks = Tasks.empty();
private TasksActionListener tasksActionListener;
public TasksAdapter(LayoutInflater layoutInflater) {
this.layoutInflater = layoutInflater;
setHasStableIds(true);
}
public void setActionListener(TasksActionListener tasksActionListener) {
this.tasksActionListener = tasksActionListener;
}
public void update(Tasks tasks) {
this.tasks = tasks;
notifyDataSetChanged();
}
@Override
public TaskViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new TaskViewHolder((TaskItemView) layoutInflater.inflate(R.layout.task_item_view, parent, false));
}
@Override
public void onBindViewHolder(TaskViewHolder holder, int position) {
holder.bind(tasks.all().get(position), tasksActionListener);
}
@Override
public int getItemCount() {
return tasks.size();
}
}