实际上我有一个过滤数组。我想将该 ArrayList
存储在另一个 ArrayList
中,但它没有添加。我正在将一个模型保存到另一个模型。因为我只想要那个 filteredlist
。
public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.ComboViewHolder> {
private ArrayList<Products> catList;
private ArrayList<FilteredCategorymodel> filterList;
Context context;
int count = 0;
// ArrayList<FilteredCategorymodel> filterModel;
SharedPrefrences sharedPrefrences;
boolean isClicked = true;
public ProductAdapter(Context context, ArrayList<Products> catList) {
this.catList = catList;
this.context = context;
}
@Override
public ComboViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).
inflate(R.layout.combo_list_item, parent, false);
return new ComboViewHolder(itemView);
}
@Override
public void onBindViewHolder(final ComboViewHolder holder, final int position) {
final Products products = catList.get(position);
Log.e("Products Items::::", products + "");
holder.mProductName.setText(products.getProduct_name());
holder.mProductDescription.setText(products.getProduct_description());
holder.mDescription.setText(products.getRecipe_method());
holder.mPrice.setText(products.getPrice());
Picasso.with(context)
.load(Constants.Image_Path + products.getProduct_image())
.placeholder(R.drawable.common_signin_btn_icon_focus_light) // optional
.error(R.drawable.common_signin_btn_icon_dark) // optional
.into(holder.mPImage);
holder.mPImage.setTag(holder);
holder.btnIncrese.setTag(position);
holder.btnDecrese.setTag(position);
holder.btnIncrese.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int mPosition = (int) v.getTag();
Log.e("mPosition~", mPosition + "~" + position);
count = catList.get(mPosition).getCount() + 1;
for (int i = 0; i < catList.size(); i++) {
filterList = new ArrayList<FilteredCategorymodel>();
filterList.add(catList.get(i));
}
basketCount = basketCount + 1;
catList.get(mPosition).setCount(count);
holder.mQuantity.setText(Integer.toString(products.getCount()));
ProductActivity.updateSum(basketCount);
}
});
holder.btnDecrese.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// int position = (Integer) v.getTag();
int mPosition = (int) v.getTag();
if (catList.get(mPosition).getCount() < 1) {
holder.mQuantity.setText("0");
} else {
count = catList.get(mPosition).getCount() - 1;
basketCount = basketCount - 1;
catList.get(position).setCount(count);
Log.e("COUNT::::", count + "");
holder.mQuantity.setText(Integer.toString(products.getCount()));
ProductActivity.updateSum(basketCount);
// sharedPrefrences = new SharedPrefrences();
// sharedPrefrences.addFavorite(context, catList.get(mPosition));
// Toast.makeText(context, "Fave",
// Toast.LENGTH_SHORT).show();
// Log.e("COUNT::::", count + "");
}
}
});
}
@Override
public int getItemCount() {
return catList.size();
}
最佳答案
因为每次你在循环中创建新的arraylist。 这样做。
holder.btnIncrese.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int mPosition = (int) v.getTag();
Log.e("mPosition~", mPosition + "~" + position);
count = catList.get(mPosition).getCount() + 1;
filterList = new ArrayList<FilteredCategorymodel>();
for (int i = 0; i < catList.size(); i++) {
filterList.add(catList.get(i));
}
basketCount = basketCount + 1;
catList.get(mPosition).setCount(count);
holder.mQuantity.setText(Integer.toString(products.getCount()));
ProductActivity.updateSum(basketCount);
}
});
关于java - 我无法将一个数组列表添加到另一个数组列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34875435/