I need to display the Total of all item prices in my Cart Activity in "subtotal" I still get an error :
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(double)' on a null object reference
I think it's because the subtotal declaration is wrong, but I don't know why..
my code :
public class CartAdapter extends RecyclerView.Adapter<CartAdapter.CartViewHolder>
{
    Context context ;
    private List<Cart> cartList;
    private double price;
    public CartAdapter(Context context, List<Cart> cartList) {
        this.context = context;
        this.cartList = cartList;
    }
    @NonNull
    @Override
    public CartViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View itemView = LayoutInflater.from(context).inflate(R.layout.cart_item_layout, parent, false);
    //   CartViewHolder viewHolder = new CartViewHolder(itemView, mData);
        return new CartViewHolder(itemView);
    }
    @Override
    public void onBindViewHolder(@NonNull CartViewHolder holder, final int position) {
        double price = (Double.parseDouble(String.valueOf(cartList.get(position).price)) 
                            * Double.parseDouble(cartList.get(position).amount));
        holder.cart_menu_amount.setText(new StringBuilder(cartList.get(position).amount).append(" x"));
        holder.menu_name.setText(cartList.get(position).name);
        // holder.menu_price.setText((new StringBuilder(String.valueOf(cartList.get(position).price))));
        holder.menu_price.setText(new StringBuilder(String.valueOf(price)).append(" €"));
        double subTotal = 0;
        subTotal += (Double.parseDouble(String.valueOf(cartList.get(position).price)) 
                        * Double.parseDouble(cartList.get(position).amount));
        holder.total_price_cart.setText((int) subTotal);
    }
    @Override
    public int getItemCount() {
        return cartList.size();
    }
    public class CartViewHolder extends RecyclerView.ViewHolder {
        TextView menu_name;
        TextView menu_price;
        TextView cart_menu_amount;
        TextView total_price_cart;
        public CartViewHolder(View itemView) {
            super(itemView);
            total_price_cart = (TextView)itemView.findViewById(R.id.total_price_cart);
            menu_name = (TextView)itemView.findViewById(R.id.cart_name);
            menu_price= (TextView)itemView.findViewById(R.id.cart_price);
            cart_menu_amount= (TextView) itemView.findViewById(R.id.cart_menu_amount);
        }
    }
}
In the class MenuDetail,I get informations like item name, item price, item amount :
Button btn_add_cart = (Button) findViewById(R.id.btn_add_cart);
    btn_add_cart.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            try {
                Cart cartItem = new Cart();
                cartItem.name = menu_name.getText().toString();
                cartItem.price = menu_price.getText().toString();
                cartItem.amount = menu_amount.getNumber();
                cartItem.comment = edit_comment.getText().toString();
                //  Common.toppingAdded.add(menu_name.getText().toString());
                // Common.cartPrice+=Double.parseDouble(optionList.get(position).Price);
                double price = (Double.parseDouble((String) menu_price.getText()) 
                                    * Double.parseDouble(String.valueOf(menu_amount.getNumber())));
                double finalPrice = price;
                cartItem.totalPrice = finalPrice;
                // Add to DB
                Common.cartRepository.insertToCart(cartItem);
                Log.d("NOW_DEBUG", new Gson().toJson(cartItem));
                Toast.makeText(MenuDetail.this, "Ajouté !", Toast.LENGTH_SHORT).show();
            } catch (Exception ex)
            {
                Toast.makeText(MenuDetail.this, ex.getMessage(), Toast.LENGTH_SHORT).show();
            }
            (MenuDetail.this).finish();
        }
    }
 
    