Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.66 KB | None | 0 0
  1. package com.example.webserveis.testkeyvalue;
  2.  
  3. import android.graphics.Color;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.widget.TextView;
  8.  
  9. import java.util.Collections;
  10. import java.util.List;
  11.  
  12. import androidx.annotation.NonNull;
  13. import androidx.recyclerview.widget.ItemTouchHelper;
  14. import androidx.recyclerview.widget.RecyclerView;
  15.  
  16. public class KeyValueAdapter extends RecyclerView.Adapter<KeyValueAdapter.MyViewHolder> implements
  17. SwipeAndDragHelper.ItemTouchHelperAdapter {
  18.  
  19. private List<KeyValueItem> itemList;
  20. private ItemTouchHelper touchHelper;
  21.  
  22. public KeyValueAdapter(List<KeyValueItem> data) {
  23. this.itemList = data;
  24. }
  25.  
  26. @NonNull
  27. @Override
  28. public KeyValueAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
  29. View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_layout, parent, false);
  30. return new MyViewHolder(v);
  31. }
  32.  
  33. @Override
  34. public void onBindViewHolder(@NonNull KeyValueAdapter.MyViewHolder holder, int position) {
  35. KeyValueItem item = itemList.get(position);
  36.  
  37. holder.mKey.setText(item.getKey());
  38. holder.mValue.setText(item.getValue());
  39. }
  40.  
  41. @Override
  42. public int getItemCount() {
  43. return itemList == null ? 0 : itemList.size();
  44. }
  45.  
  46. public void updateDataSet(List<KeyValueItem> data) {
  47. this.itemList = data;
  48. notifyDataSetChanged();
  49. }
  50.  
  51. @NonNull
  52. public final List<KeyValueItem> getCurrentItems() {
  53. return Collections.unmodifiableList(itemList);
  54. }
  55.  
  56.  
  57.  
  58. @Override
  59. public void onViewMoved(int oldPosition, int newPosition) {
  60. Collections.swap(itemList, oldPosition, newPosition);
  61. notifyItemMoved(oldPosition, newPosition);
  62. }
  63.  
  64. @Override
  65. public void onViewSwiped(int position) {
  66. itemList.remove(position);
  67. notifyItemRemoved(position);
  68. }
  69.  
  70. public void setTouchHelper(ItemTouchHelper touchHelper) {
  71. this.touchHelper = touchHelper;
  72. }
  73.  
  74. public static class MyViewHolder extends RecyclerView.ViewHolder implements
  75. SwipeAndDragHelper.ItemTouchHelperViewHolder {
  76.  
  77. private TextView mKey;
  78. private TextView mValue;
  79.  
  80. public MyViewHolder(@NonNull View itemView) {
  81. super(itemView);
  82.  
  83. mKey = itemView.findViewById(R.id.text1);
  84. mValue = itemView.findViewById(R.id.text2);
  85. }
  86.  
  87. @Override
  88. public void onItemSelected() {
  89. itemView.setBackgroundColor(Color.LTGRAY);
  90. }
  91.  
  92. @Override
  93. public void onItemClear() {
  94. itemView.setBackgroundColor(0);
  95. }
  96. }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement