Проблема ограничения добавления дубликатов - PullRequest
0 голосов
/ 23 октября 2019

Activity.class:

holder.txt_AddToCart.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View view) {

     ActivityMyCartDetails.holdMyCartArrayList.add(new HoldMyCart(Subproductname, Subproductamount, product_image, qty, product_type_id));
    }
});

Когда я добавляю данные и добавляю к ArrayList, тогда вводятся дубликаты данных. Как проверить это, если product_type_id уже в ActivityMyCartDetails.holdMyCartArrayList, то не может добавить его

Ответы [ 3 ]

1 голос
/ 23 октября 2019

Измените ваш код с условием if, чтобы решить его:

Activity.class

holder.txt_AddToCart.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View view) {
     if(!ActivityMyCartDetails.holdMyCartArrayList.contains(product_type_id)){
     ActivityMyCartDetails.holdMyCartArrayList.add(new HoldMyCart(Subproductname, Subproductamount, product_image, qty, product_type_id));
}
    }
});
0 голосов
/ 23 октября 2019

Попробуйте сохранить другой список для product_type_id и проверьте во время добавления HoldMyCart

List<String> productIds = new ArrayList<>();

holder.txt_AddToCart.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View view) {

        if(!productIds.contains(product_type_id)) {
            productIds.add(product_type_id);
            ActivityMyCartDetails.holdMyCartArrayList.add(new HoldMyCart(Subproductname, Subproductamount, product_image, qty, product_type_id));
        }
    }
});
0 голосов
/ 23 октября 2019

Попробуйте вот так

holder.txt_AddToCart.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View view) {
     for(int i = 0; i<ActivityMyCartDetails.holdMyCartArrayList.size();i++){
         HoldMyCart holdMyCart = ActivityMyCartDetails.holdMyCartArrayList.get(i);
         // i assumed getter method for product type id(you should use your)
         if(holdMyCart.getProduct_type_id() == product_type_id){
            return;
         }
     }
     ActivityMyCartDetails.holdMyCartArrayList.add(new HoldMyCart(Subproductname, Subproductamount, product_image, qty, product_type_id));
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...