Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ItemViewAdapter extends
- RecyclerView.Adapter<ItemViewAdapter.ViewHolder> {
- private ArrayList<Item> items = new ArrayList<>();
- private Context appContext;
- public void setItems(ArrayList<Item> items) {
- this.items = items;
- notifyDataSetChanged();
- }
- @NonNull
- @Override
- public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
- appContext=parent.getContext();
- View view = LayoutInflater.from(appContext).inflate(R.layout.listview_item, parent, false);
- return new ViewHolder(view);
- }
- @Override
- public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
- holder.bind(items.get(position), position);
- }
- @Override
- public int getItemCount() {
- return items.size();
- }
- class ViewHolder extends RecyclerView.ViewHolder{
- TextView nameItem;
- Button lessCount;
- EditText count;
- Button moreCount;
- TextView price;
- ImageButton addToCart;
- public ViewHolder(View itemView){
- super(itemView);
- nameItem = (TextView) itemView.findViewById(R.id.item_name);
- lessCount = (Button) itemView.findViewById(R.id.less_count);
- count = (EditText) itemView.findViewById(R.id.count);
- moreCount = (Button) itemView.findViewById(R.id.more_count);
- price = (TextView) itemView.findViewById(R.id.price_textview);
- addToCart = (ImageButton) itemView.findViewById(R.id.add_to_cart);
- }
- public void bind(final Item item, final int position){
- nameItem.setText(null);
- nameItem.setText(item.getName());
- count.setText(null);
- count.setText(String.valueOf(item.getCount()));
- price.setText(null);
- price.setText(String.valueOf(item.getPrice()));
- lessCount.setOnClickListener(null);
- lessCount.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- item.lessCount();
- price.setText(String.valueOf(item.getPrice()));
- count.setText(String.valueOf(item.getCount()));
- //notifyItemChanged(position);
- }
- });
- count.setOnClickListener(null);
- count.addTextChangedListener(new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
- }
- @Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {
- try{
- item.setCount(Integer.parseInt(s.toString()));
- price.setText(String.valueOf(item.getPrice()));
- }
- catch (Exception e){}
- }
- @Override
- public void afterTextChanged(Editable s) {
- }
- });
- moreCount.setOnClickListener(null);
- moreCount.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- item.addCount();//todo цифры странно прыгают
- price.setText(String.valueOf(item.getPrice()));
- count.setText(String.valueOf(item.getCount()));
- //notifyItemChanged(position);
- }
- });
- addToCart.setOnClickListener(null);
- addToCart.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- ShoppingCartController.get(appContext).addItemToCart(item);
- }
- });
- }
- }
Add Comment
Please, Sign In to add comment