How to get Int value from an Adapter to Activity in android

I want to get an int value from my adapter class to my activity but I am getting nothing while using this code:

Here is my adapter:

package com.capi.ccecommerceapp.Adapter;  import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView;  import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView;  import com.bumptech.glide.Glide; import com.capi.ccecommerceapp.Model.Cart; import com.capi.ccecommerceapp.R; import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.auth.FirebaseUser; import com.google.firebase.database.DataSnapshot; import com.google.firebase.database.DatabaseError; import com.google.firebase.database.DatabaseReference; import com.google.firebase.database.FirebaseDatabase; import com.google.firebase.database.ValueEventListener;  import java.util.List;  public class CartAdapter extends RecyclerView.Adapter<CartAdapter.ViewHolder> {     private Context context;     private List<Cart> cartList;      private String productImage;     public int overTotalPrice = 0;      public CartAdapter(Context context, List<Cart> cartList ) {         this.context = context;         this.cartList = cartList;     }      @NonNull     @Override     public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {         View view = LayoutInflater.from(context).inflate(R.layout.cart_item, parent, false);         return new ViewHolder(view);     }      @Override     public void onBindViewHolder(@NonNull final ViewHolder holder, final int position) {         holder.cartName.setText(cartList.get(position).getProductName());         holder.cartPrice.setText(cartList.get(position).getProductPrice());         holder.cart_qty.setText(String.valueOf(cartList.get(position).getProductQuantity()));          int oneTypeProductTPrice = ((Integer.parseInt(cartList.get(position).getProductPrice()))) * cartList.get(position).getProductQuantity();          overTotalPrice = overTotalPrice + oneTypeProductTPrice;             /*FirebaseAuth auth = FirebaseAuth.getInstance();         FirebaseUser user = auth.getCurrentUser();*/         /* holder.cartPlus.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View view) {                 if (cartQty<10)                 {                     cartQty++;                 }             }         });         holder.cartMinus.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View view) {                 if (cartQty>1)                 {                     cartQty--;                 }             }         });         holder.cart_qty.setText(cartQty);         holder.deleteBtn.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View view) {                 cartList.remove(cartList.get(position));             }         });*/        /* holder.wishlistBtn.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View view) {                 if (holder.wishlistBtn.getTag().equals("add"))                 {                     holder.wishlistBtn.setImageResource(R.drawable.ic_love_fill);                     holder.wishlistBtn.setTag("added");                 }                 else                 {                     holder.wishlistBtn.setImageResource(R.drawable.love);                     holder.wishlistBtn.setTag("add");                 }             }         });*/          DatabaseReference reference = FirebaseDatabase.getInstance().getReference()                 .child("Products")                 .child(cartList.get(position).getProductId())                 .child("productImage");          reference.addValueEventListener(new ValueEventListener() {             @Override             public void onDataChange(@NonNull DataSnapshot snapshot)             {                 if (snapshot.exists()) {                     productImage = snapshot.getValue(String.class);                     Glide.with(context).load(productImage).into(holder.cartImage);                 }             }              @Override             public void onCancelled(@NonNull DatabaseError error) {              }         });     }      @Override     public int getItemCount() {         return cartList.size();     }      public static class ViewHolder extends RecyclerView.ViewHolder {          ImageView cartImage;         TextView cartName;         TextView cartPrice;         ImageView wishlistBtn;         ImageView deleteBtn;         ImageView cartPlus;         ImageView cartMinus;         TextView cart_qty;          public ViewHolder(@NonNull View itemView) {             super(itemView);              cartImage = itemView.findViewById(R.id.cart_image);             cartName = itemView.findViewById(R.id.cart_name);             cartPrice = itemView.findViewById(R.id.cart_price);             wishlistBtn = itemView.findViewById(R.id.add_to_wishlist);             deleteBtn = itemView.findViewById(R.id.delete_cart);             cartPlus = itemView.findViewById(R.id.cart_add);             cartMinus = itemView.findViewById(R.id.cart_minus);             cart_qty = itemView.findViewById(R.id.cart_quantity);         }     } } 

and here is my activity code where I want to set it in textView:

package com.capi.ccecommerceapp.Fragment;  import android.content.Intent; import android.os.Bundle;  import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView;  import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView;  import com.capi.ccecommerceapp.Adapter.CartAdapter; import com.capi.ccecommerceapp.address.ShiptoActivity; import com.capi.ccecommerceapp.Model.Cart; import com.capi.ccecommerceapp.R; import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.auth.FirebaseUser; import com.google.firebase.database.DataSnapshot; import com.google.firebase.database.DatabaseError; import com.google.firebase.database.DatabaseReference; import com.google.firebase.database.FirebaseDatabase; import com.google.firebase.database.ValueEventListener;  import java.util.ArrayList; import java.util.List;  public class CartFragment extends Fragment {     private RecyclerView cartRecyclerView;     private List<Cart> cartList;     private CartAdapter cartAdapter;     private Button next;      private FirebaseAuth auth;     private FirebaseUser user;      private TextView subtotal;     private TextView items;      private TextView shipping;     private TextView totalPrice;      @Override     public View onCreateView(LayoutInflater inflater, ViewGroup container,                              Bundle savedInstanceState) {         View view = inflater.inflate(R.layout.fragment_cart, container, false);          cartRecyclerView = view.findViewById(R.id.cartRecycler);         next = view.findViewById(R.id.checkout_btn);          auth = FirebaseAuth.getInstance();         user = auth.getCurrentUser();          next.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View view) {                 startActivity(new Intent(getContext(), ShiptoActivity.class));             }         });          subtotal = view.findViewById(R.id.subtotal_price);         items = view.findViewById(R.id.items);         shipping = view.findViewById(R.id.shipping_price);          LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());         cartRecyclerView.setLayoutManager(layoutManager);          cartList = new ArrayList<>();          cartAdapter = new CartAdapter(getContext(), cartList);         cartRecyclerView.setAdapter(cartAdapter);          loadCart();          return view;     }      private void loadCart()     {         DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Cart")                 .child(user.getUid());          reference.addValueEventListener(new ValueEventListener() {             @Override             public void onDataChange(@NonNull DataSnapshot snapshot) {                 for (DataSnapshot dataSnapshot : snapshot.getChildren())                 {                     Cart cart = dataSnapshot.getValue(Cart.class);                     cartList.add(cart);                 }                  cartAdapter.notifyDataSetChanged();                 subtotal.setText("$" + cartAdapter.overTotalPrice);                 items.setText("Items("+cartAdapter.getItemCount()+")");                 int shippingPrice = (cartAdapter.overTotalPrice / 20);                 shipping.setText("$" + shippingPrice);                 /*int totalPriceFinal = shippingPrice + cartAdapter.getOverTotalPrice();                 totalPrice.setText("$" + totalPriceFinal);*/             }              @Override             public void onCancelled(@NonNull DatabaseError error) {              }         });     } } 

I want to get this int:public int overTotalPrice = 0;

And I am getting it as:subtotal.setText("$"+cartAdapter.overTotalPrice);

Anyone have a solution? ??????????????????????? ???????????????????? ??????????????????????

Asked on July 16, 2020 in Java.
Add Comment
0 Answer(s)

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.