Advertisement
Guest User

Untitled

a guest
Jan 24th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. public class ToDoRecyclerViewAdapter extends RecyclerView.Adapter<ToDoViewHolder> {
  2.  
  3. List<TodoRecord> data = new ArrayList<>();
  4.  
  5. public interface Interactor {
  6. void onTodoClicked(int position, TodoRecord record);
  7. void onTodoLongClicked(int position, TodoRecord record);
  8. }
  9.  
  10. Interactor interactor;
  11.  
  12. public ToDoRecyclerViewAdapter(Interactor interactor) {
  13. this.interactor = interactor;
  14. }
  15.  
  16. @Override
  17. public ToDoViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
  18. View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_todo,parent,false);
  19. return new ToDoViewHolder(view);
  20. }
  21.  
  22. @Override
  23. public void onBindViewHolder(ToDoViewHolder holder, final int position) {
  24. final TodoRecord todoRecord = data.get(position);
  25. holder.description.setText(todoRecord.getTitle());
  26. holder.checkbox.setChecked(todoRecord.getCompleted());
  27.  
  28. if(todoRecord.getCompleted()){
  29. holder.description.setPaintFlags(holder.description.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
  30. }else{
  31. holder.description.setPaintFlags(holder.description.getPaintFlags() & (~Paint.STRIKE_THRU_TEXT_FLAG));
  32. }
  33.  
  34. holder.itemView.setOnLongClickListener(new View.OnLongClickListener() {
  35. @Override
  36. public boolean onLongClick(View v) {
  37. interactor.onTodoLongClicked(position,todoRecord);
  38. return true;
  39. }
  40. });
  41.  
  42. holder.itemView.setOnClickListener(new View.OnClickListener() {
  43. @Override
  44. public void onClick(View v) {
  45. interactor.onTodoClicked(position,todoRecord);
  46. }
  47. });
  48.  
  49. holder.checkbox.setClickable(false);
  50. }
  51.  
  52. @Override
  53. public int getItemCount() {
  54. return data.size();
  55. }
  56.  
  57. public void setData(List<TodoRecord> recordList) {
  58. this.data = recordList;
  59. notifyDataSetChanged();
  60. }
  61.  
  62. public void deleteData(int position, TodoRecord record) {
  63. this.data.remove(position);
  64. notifyDataSetChanged();
  65. }
  66.  
  67. public void updateData(int position, TodoRecord record) {
  68. this.data.set(position,record);
  69. notifyDataSetChanged();
  70. }
  71.  
  72. public void addData(TodoRecord record) {
  73. this.data.add(record);
  74. notifyDataSetChanged();
  75. }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement