Android 限制重复arraylist添加的问题

Android 限制重复arraylist添加的问题,android,arraylist,onclicklistener,Android,Arraylist,Onclicklistener,Activity.class: holder.txt_AddToCart.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ActivityMyCartDetails.holdMyCartArrayList.add(new HoldMyCart(Subproductname, Subproductamount, product_ima

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
时,输入重复数据。如果
产品类型\u id
已在
活动的CartDetails中,如何验证它。holdMyCartArrayList
则无法添加它使用类似这样的if条件修改代码以解决它:

活动类

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));
}
    }
});
像这样试试

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));
    }
});
holder.txt\u AddToCart.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){

对于(int i=0;i尝试为
产品类型\u 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));
        }
    }
});
List productIds=new ArrayList();
holder.txt_AddToCart.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
如果(!productID.contains(产品类型id)){
添加(产品类型标识);
ActivityCartDetails.holdMyCartArrayList.add(新的HoldMyCart(子产品名称、子产品金额、产品图片、数量、产品类型和id));
}
}
});

它将不起作用,因为
arraylist
包含
对象
非值。使用此条件我认为它可以正常工作。如果(!ActivityCartDetails.holdMyCartArrayList.contains(新的HoldMyCart(Subproductname,Subproductamount,product\u image,qty,product\u type\u id))){@ThoriyaPrahalad您使用
新实例进行检查
那么它将如何工作?