Guest User

Untitled

a guest
Dec 11th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.45 KB | None | 0 0
  1. public class ItemViewAdapter extends
  2. RecyclerView.Adapter<ItemViewAdapter.ViewHolder> {
  3. private ArrayList<Item> items = new ArrayList<>();
  4. private Context appContext;
  5.  
  6. public void setItems(ArrayList<Item> items) {
  7. this.items = items;
  8. notifyDataSetChanged();
  9. }
  10.  
  11. @NonNull
  12. @Override
  13. public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
  14. appContext=parent.getContext();
  15. View view = LayoutInflater.from(appContext).inflate(R.layout.listview_item, parent, false);
  16. return new ViewHolder(view);
  17. }
  18.  
  19. @Override
  20. public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
  21. holder.bind(items.get(position), position);
  22.  
  23. }
  24.  
  25. @Override
  26. public int getItemCount() {
  27. return items.size();
  28. }
  29.  
  30.  
  31. class ViewHolder extends RecyclerView.ViewHolder{
  32. TextView nameItem;
  33. Button lessCount;
  34. EditText count;
  35. Button moreCount;
  36. TextView price;
  37. ImageButton addToCart;
  38.  
  39. public ViewHolder(View itemView){
  40. super(itemView);
  41. nameItem = (TextView) itemView.findViewById(R.id.item_name);
  42. lessCount = (Button) itemView.findViewById(R.id.less_count);
  43. count = (EditText) itemView.findViewById(R.id.count);
  44. moreCount = (Button) itemView.findViewById(R.id.more_count);
  45. price = (TextView) itemView.findViewById(R.id.price_textview);
  46. addToCart = (ImageButton) itemView.findViewById(R.id.add_to_cart);
  47.  
  48. }
  49.  
  50. public void bind(final Item item, final int position){
  51. nameItem.setText(null);
  52. nameItem.setText(item.getName());
  53. count.setText(null);
  54. count.setText(String.valueOf(item.getCount()));
  55. price.setText(null);
  56. price.setText(String.valueOf(item.getPrice()));
  57.  
  58. lessCount.setOnClickListener(null);
  59. lessCount.setOnClickListener(new View.OnClickListener() {
  60. @Override
  61. public void onClick(View v) {
  62. item.lessCount();
  63. price.setText(String.valueOf(item.getPrice()));
  64. count.setText(String.valueOf(item.getCount()));
  65. //notifyItemChanged(position);
  66. }
  67. });
  68. count.setOnClickListener(null);
  69. count.addTextChangedListener(new TextWatcher() {
  70. @Override
  71. public void beforeTextChanged(CharSequence s, int start, int count, int after) {
  72.  
  73. }
  74.  
  75. @Override
  76. public void onTextChanged(CharSequence s, int start, int before, int count) {
  77. try{
  78. item.setCount(Integer.parseInt(s.toString()));
  79. price.setText(String.valueOf(item.getPrice()));
  80. }
  81. catch (Exception e){}
  82.  
  83. }
  84.  
  85. @Override
  86. public void afterTextChanged(Editable s) {
  87. }
  88. });
  89. moreCount.setOnClickListener(null);
  90. moreCount.setOnClickListener(new View.OnClickListener() {
  91. @Override
  92. public void onClick(View v) {
  93. item.addCount();//todo цифры странно прыгают
  94. price.setText(String.valueOf(item.getPrice()));
  95. count.setText(String.valueOf(item.getCount()));
  96. //notifyItemChanged(position);
  97. }
  98. });
  99. addToCart.setOnClickListener(null);
  100. addToCart.setOnClickListener(new View.OnClickListener() {
  101. @Override
  102. public void onClick(View v) {
  103. ShoppingCartController.get(appContext).addItemToCart(item);
  104. }
  105. });
  106. }
  107. }
Add Comment
Please, Sign In to add comment