|
12 | 12 | * Adapter for Demo item |
13 | 13 | */ |
14 | 14 | public class DemoAdapter extends RecyclerView.Adapter<DemoViewHolder> { |
15 | | - List<String> items; |
16 | | - private int maxLinesPerItem; |
17 | | - private boolean showMeta = false; |
18 | | - public DemoAdapter() { |
19 | | - this.items = new LinkedList<>(); |
20 | | - maxLinesPerItem = 1; |
21 | | - } |
| 15 | + List<String> items; |
| 16 | + private int maxLinesPerItem; |
| 17 | + private boolean showMeta = false; |
22 | 18 |
|
23 | | - public DemoAdapter(int maxLinesPerItem, List<String> items) { |
24 | | - this(); |
25 | | - this.items.addAll(items); |
26 | | - this.maxLinesPerItem = maxLinesPerItem; |
27 | | - } |
| 19 | + public DemoAdapter() { |
| 20 | + this.items = new LinkedList<>(); |
| 21 | + maxLinesPerItem = 1; |
| 22 | + } |
28 | 23 |
|
29 | | - @Override |
30 | | - public DemoViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { |
31 | | - return new DemoViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.listitem_tag, parent, false)).setShowMeta(showMeta); |
32 | | - } |
| 24 | + public DemoAdapter(int maxLinesPerItem, List<String> items) { |
| 25 | + this(); |
| 26 | + this.items.addAll(items); |
| 27 | + this.maxLinesPerItem = maxLinesPerItem; |
| 28 | + } |
33 | 29 |
|
34 | | - @Override |
35 | | - public void onBindViewHolder(final DemoViewHolder holder, final int position) { |
36 | | - holder.setTagText(items.get(position)); |
37 | | - holder.tagSize.setClickable(false); |
38 | | - holder.tagText.setClickable(false); |
39 | | - holder.itemView.setOnClickListener(new View.OnClickListener() { |
40 | | - @Override |
41 | | - public void onClick(View v) { |
42 | | - int adapterPosition = holder.getAdapterPosition(); |
43 | | - items.remove(adapterPosition); |
44 | | - notifyItemRemoved(adapterPosition); |
45 | | - } |
46 | | - }); |
47 | | - holder.itemView.setOnLongClickListener(new View.OnLongClickListener() { |
48 | | - @Override |
49 | | - public boolean onLongClick(View v) { |
50 | | - int adapterPosition = holder.getAdapterPosition(); |
51 | | - List<String> newItems = DemoUtil.generate(1, 3, 14, maxLinesPerItem, true); |
52 | | - items.addAll(adapterPosition, newItems); |
53 | | - notifyItemRangeInserted(adapterPosition, newItems.size()); |
54 | | - return true; |
55 | | - } |
56 | | - }); |
57 | | - } |
| 30 | + @Override |
| 31 | + public DemoViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { |
| 32 | + return new DemoViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.listitem_tag, parent, false)).setShowMeta(showMeta); |
| 33 | + } |
58 | 34 |
|
59 | | - @Override |
60 | | - public int getItemCount() { |
61 | | - return items.size(); |
62 | | - } |
| 35 | + @Override |
| 36 | + public void onBindViewHolder(final DemoViewHolder holder, final int position) { |
| 37 | + holder.setTagText(items.get(position)); |
| 38 | + holder.tagSize.setClickable(false); |
| 39 | + holder.tagText.setClickable(false); |
| 40 | +// holder.tagSize.setText("(" + position + ")"); |
| 41 | +// holder.tagSize.setVisibility(View.VISIBLE); |
| 42 | + holder.itemView.setOnClickListener(new View.OnClickListener() { |
| 43 | + @Override |
| 44 | + public void onClick(View v) { |
| 45 | + int adapterPosition = holder.getAdapterPosition(); |
| 46 | + items.remove(adapterPosition); |
| 47 | + notifyItemRemoved(adapterPosition); |
| 48 | + } |
| 49 | + }); |
| 50 | + holder.itemView.setOnLongClickListener(new View.OnLongClickListener() { |
| 51 | + @Override |
| 52 | + public boolean onLongClick(View v) { |
| 53 | + int adapterPosition = holder.getAdapterPosition(); |
| 54 | + List<String> newItems = DemoUtil.generate(1, 3, 14, maxLinesPerItem, true); |
| 55 | + items.addAll(adapterPosition, newItems); |
| 56 | + notifyItemRangeInserted(adapterPosition, newItems.size()); |
| 57 | + return true; |
| 58 | + } |
| 59 | + }); |
| 60 | + } |
63 | 61 |
|
64 | | - public void newItems(int maxLinesPerItem, List<String> newItems) { |
65 | | - this.maxLinesPerItem = maxLinesPerItem; |
66 | | - items.clear(); |
67 | | - items.addAll(newItems); |
68 | | - } |
| 62 | + @Override |
| 63 | + public int getItemCount() { |
| 64 | + return items.size(); |
| 65 | + } |
69 | 66 |
|
70 | | - public int getMaxLinesPerItem() { |
71 | | - return maxLinesPerItem; |
72 | | - } |
| 67 | + public void newItems(int maxLinesPerItem, List<String> newItems) { |
| 68 | + this.maxLinesPerItem = maxLinesPerItem; |
| 69 | + items.clear(); |
| 70 | + items.addAll(newItems); |
| 71 | + } |
73 | 72 |
|
74 | | - public void setShowMeta(boolean showMeta) { |
75 | | - this.showMeta = showMeta; |
76 | | - } |
| 73 | + public int getMaxLinesPerItem() { |
| 74 | + return maxLinesPerItem; |
| 75 | + } |
| 76 | + |
| 77 | + public void setShowMeta(boolean showMeta) { |
| 78 | + this.showMeta = showMeta; |
| 79 | + } |
77 | 80 | } |
0 commit comments