Перепиши с учетом того что кнопка находится во фрагменте : Хорошо, разберем каждый шаг подробнее:

1. Добавление кнопки “View Cart” в layout.

В файле layout, где расположена кнопка, нужно добавить новую кнопку “View Cart”, которая будет открывать корзину при клике. Например:

<Button
    android:id=“@+id/view_cart_button”
    android:layout_width=“wrap_content”
    android:layout_height=“wrap_content”
    android:text=“View Cart” />


2. Добавление обработчика клика на кнопку.

В java-коде для активности или фрагмента, где находится кнопка, нужно добавить обработчик клика на нее. Например:

Button viewCartButton = findViewById(R.id.view_cart_button);
viewCartButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // Открыть новый фрагмент с содержимым корзины
    }
});


В этом обработчике мы сообщаем, что при клике на кнопку “View Cart” нужно открыть новый фрагмент с содержимым корзины.

3. Создание и открытие фрагмента с содержимым корзины.

Для отображения корзины нужно создать новый фрагмент (например, ViewCartFragment) и открыть его при клике на кнопку “View Cart”. Для этого нужно вызвать метод openCartFragment() в обработчике клика:

Button viewCartButton = findViewById(R.id.view_cart_button);
viewCartButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        openCartFragment();
    }
});

private void openCartFragment() {
    CartFragment cartFragment = new CartFragment();
    getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, cartFragment).addToBackStack(null).commit();
}


В этом коде мы создаем новый фрагмент CartFragment и открываем его с помощью FragmentManager. Метод getSupportFragmentManager() возвращает менеджер фрагментов для активности. Метод addToBackStack(null) добавляет транзакцию в стек возврата, чтобы пользователь мог вернуться к предыдущему фрагменту кнопкой “Назад”.

4. Получение объекта Cart и передача его в адаптер.

В фрагменте CartFragment нужно получить объект Cart из синглтона и передать его в адаптер, который будет отображать содержимое корзины. Это можно сделать в методе onCreateView():

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_cart, container, false);
    
    cart = Cart.getInstance();

    adapter = new CartAdapter(cart.getItems(), new OnCartItemListener() {
        @Override
        public void onQuantityChanged(CartItem item, int newQuantity) {
            cart.updateItem(item, newQuantity);
            updateTotalPrice();
        }

        @Override
        public void onRemoveButtonClick(CartItem item) {
            cart.removeItem(item);
            adapter.setItems(cart.getItems());
            updateTotalPrice();
        }
    });

    RecyclerView recyclerView = view.findViewById(R.id.cart_recycler_view);
    recyclerView.setAdapter(adapter);
    recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));

    updateTotalPrice();

    return view;
}


В этом коде мы получаем объект Cart из синглтона, создаем новый адаптер CartAdapter с передачей списка товаров из корзины и обработчиков событий на кнопки увеличения/уменьшения количества товаров и удаления товара. Затем мы создаем RecyclerView и устанавливаем на него адаптер и менеджер компоновки. Наконец, вызываем метод updateTotalPrice() для обновления общей стоимости товаров в корзине. Фрагмент ViewCartFragment будет содержать схожий код, за исключением метода updateTotalPrice().

Таким образом, после выполнения этих шагов у вас должна быть возможность открывать корзину при клике на кнопку, а в ней должны отображаться добавленные товары.