Как сохранить значение TextView которая находится в адаптере с помощью SharedPreferences

В общем у меня есть счетчик + и -, значение записывается в TextView foodCount, нужно его сохранить чтоб оно не сбрасывалось при закрытии приложения, проблема в том что TextView находится в адаптере а SharedPreferences работает в активити, как мне сохранять значение в таком случае??

код адаптера:

public class FoodAdapter extends RecyclerView.Adapter<FoodAdapter.FoodViewHolder> { List foodList;

public FoodAdapter(List<Food> foodList) {
    this.foodList = foodList;

}

@NonNull
@Override
public FoodAdapter.FoodViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_food, parent, false);
    return new FoodViewHolder(view);
}

@Override
public void onBindViewHolder(@NonNull FoodAdapter.FoodViewHolder holder, int position) {
    holder.foodTitle.setText(foodList.get(position).getName());
    holder.foodDescription.setText(foodList.get(position).getDescription());
    holder.foodPrice.setText(String.valueOf(foodList.get(position).getPrice() + " ₽"));

    Glide.with(holder.foodImage)
            .load(foodList.get(position).getImageApp())
            .into(holder.foodImage);
}

@Override
public long getItemId(int position) {
    return foodList.get(position).getId();
}

@Override
public int getItemCount() {
    return foodList.size();
}

public static class FoodViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
    private ImageView foodImage;
    private TextView foodTitle;
    private TextView foodDescription;
    private TextView foodPrice;
    private TextView foodCount;
    private Button addFoodBtn;
    private Button deleteFoodBtn;
    private int count;


    public FoodViewHolder(@NonNull View itemView) {
        super(itemView);
        foodImage = itemView.findViewById(R.id.ImageView_foodImage);
        foodTitle = itemView.findViewById(R.id.TextView_foodTitle);
        foodDescription = itemView.findViewById(R.id.TextView_foodDescription);
        foodPrice = itemView.findViewById(R.id.TextView_foodPrice);
        foodCount = itemView.findViewById(R.id.TextView_foodCount);
        addFoodBtn = itemView.findViewById(R.id.Button_addFood);
        deleteFoodBtn = itemView.findViewById(R.id.Button_deleteFood);

        addFoodBtn.setOnClickListener(this);
        deleteFoodBtn.setOnClickListener(this);
        initCounter();


    }


    @Override
    public void onClick(View itemView) {
        switch (itemView.getId()) {
            case R.id.Button_deleteFood:
                deleteCounter();
                break;
            case R.id.Button_addFood:
                addCounter();
                break;

        }
        if (count <= 0) {
            deleteFoodBtn.setVisibility(View.INVISIBLE);
            foodCount.setVisibility(View.INVISIBLE);
        } else {
            deleteFoodBtn.setVisibility(View.VISIBLE);
            foodCount.setVisibility(View.VISIBLE);
        }
    }

    private void initCounter() {
        count = 0;
        foodCount.setText(count + "");

    }

    private void addCounter() {
        count++;
        foodCount.setText(count + "");
    }

    private void deleteCounter() {
        count--;
        foodCount.setText(count + "");
    }

}

}


Ответы (0 шт):