Skip to content

Instantly share code, notes, and snippets.

@djandreski
Created January 22, 2015 08:42
Show Gist options
  • Save djandreski/c58070a9cc12f30da203 to your computer and use it in GitHub Desktop.
Save djandreski/c58070a9cc12f30da203 to your computer and use it in GitHub Desktop.
package me.jadi.timetracker;
import android.content.Context;
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 java.util.Collections;
import java.util.List;
import me.jadi.timetracker.components.RecyclerSwipeAdapter;
import me.jadi.timetracker.model.Task;
/**
* Created by Dragan Jandreski on 21.01.2015.
*/
public class TasksAdapter extends RecyclerSwipeAdapter<TasksAdapter.TaskViewHolder> {
List<Task> data= Collections.emptyList();
private LayoutInflater inflater;
private Context context;
public TasksAdapter(Context context, List<Task> data) {
this.context=context;
inflater=LayoutInflater.from(context);
this.data=data;
}
public void delete(int position){
data.remove(position);
notifyItemRemoved(position);
}
@Override
public TaskViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view=inflater.inflate(R.layout.custom_row, parent,false);
TaskViewHolder holder=new TaskViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(TaskViewHolder holder, int position) {
super.onBindViewHolder(holder, position);
Task current=data.get(position);
holder.title.setText(current.title);
holder.icon.setImageResource(current.iconId);
}
@Override
public int getItemCount() {
return data.size();
}
@Override
public int getSwipeLayoutResourceId(int i) {
return R.id.swipe;
}
class TaskViewHolder extends RecyclerView.ViewHolder{
TextView title;
ImageView icon;
public TaskViewHolder(View itemView) {
super(itemView);
title = (TextView) itemView.findViewById(R.id.listText);
icon = (ImageView) itemView.findViewById(R.id.listIcon);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openItem(getPosition());
}
});
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment