1->
public interface ClickListener {
void itemClick(View v, int position);
}
2->
public CartAdapter(List<Order> listData, CartActivity cart, ClickListener clickListener) {
this.listData = listData;
this.cart = cart;
this.clickListener = clickListener;
}
3->
public static class MyViewHolderCart extends RecyclerView.ViewHolder {
public TextView cartName;
public TextView cartTotalPrice;
public ImageView bagImage;
public TextView quintalNo, cartBagsNo,cartBagPrice;
public Button cartRemove;
public TextView cartQty;
public MyViewHolderCart(View itemView, final ClickListener listener) {
super(itemView);
cartName = (TextView) itemView.findViewById(R.id.cartt_bag_name);
cartTotalPrice = (TextView) itemView.findViewById(R.id.cartt_total_priceee);
bagImage = (ImageView) itemView.findViewById(R.id.cartt_img_view);
quintalNo = (TextView) itemView.findViewById(R.id.cartt_quintal_no);
cartBagsNo = (TextView) itemView.findViewById(R.id.cartt_bags_no);
cartRemove = (Button) itemView.findViewById(R.id.cartt_remove);
cartQty = (TextView) itemView.findViewById(R.id.cartt_bag_name_qty);
cartBagPrice = (TextView)itemView.findViewById(R.id.cartt_price);
cartRemove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/* quintalNo.setText("");
cartBagsNo.setText("");
cartTotalPrice.setText("");*/
listener.itemClick(v, getAdapterPosition());
}
});
}
}
4->
@NonNull
@Override
public MyViewHolderCart onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(cart);
View itemview = inflater.inflate(R.layout.v_single_cart_safe, parent, false);
return new MyViewHolderCart(itemview, clickListener);
}
private void loadListData() {
cart = new Database(this).getCarts();
adapter = new CartAdapter(cart, this, new ClickListener() {
@Override
public void itemClick(View v, int pos) {
int total = 0;
int price = Integer.parseInt(cart.get(pos).getTotalPrice());
for (Order order : cart) {
try {
total = total + (Integer.parseInt(order.getTotalPrice()));
notify();
} catch (Exception e){
e.printStackTrace();
}
}
new Database(CartActivity.this).deleteCartItems(cart.get(pos).getProductId());
txtTotalPrice.setText(String.valueOf(total-price));
cart.remove(pos);
adapter.notifyItemRemoved(pos);
}
});
adapter.notifyDataSetChanged();
recycler_cart.setAdapter(adapter);
//Calculate price total
int total = 0;
for (Order order : cart) {
try {
total = total + (Integer.parseInt(order.getTotalPrice()));
notify();
} catch (Exception e){
e.printStackTrace();
}
}
Locale local = new Locale("en", "IN");
NumberFormat fmt = NumberFormat.getCurrencyInstance(local);
txtTotalPrice.setText(fmt.format(total));
}
When we have the requirement that needs to perform on click for recycler item from Activity, we use this.
The Trick is:
simply create one-click listener interface and follow based on that.
The Trick is:
simply create one-click listener interface and follow based on that.
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.