[英]RecyclerView is populating with the last item on my list (I'm getting the same item)
[英]RecyclerView is populating with the last element all my list
我有一個RecyclerView,可以放大5張圖像,獲取每張圖像並循環遍歷,然后將其放入模型中並在對話框中顯示,但事實是顯示的是5張相同的圖像,而不是顯示不同的圖像。
public void showHeartDialog() {
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setCancelable(true);
dialog.setContentView(R.layout.dialog_most_used_cars);
dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
mRecyclerViewFrases = dialog.findViewById(R.id.recyclerView);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(mActivity);
mRecyclerViewFrases.setLayoutManager(linearLayoutManager);
for (int i = 0; i < mDataOfUse.getMostUsedCars.size(); i++) {
model.setImage(mGetBitmap.getBitmapOfCar(mDataOfUse.getOrderedCars().get(i)));
mCarsArrayList.add(model);
}
RecyclerAdapter mAdapter = new RecyclerAdapter (R.layout.item_car,mActivity,mCarsArrayList,dialog);
mRecyclerViewCars.setAdapter(mAdapter);
dialog.show();
}
我的適配器綁定視口
@Override
public void onBindViewHolder(FavoriteCarsViewHolder holder, int position) {
CarModel model = mCarArrayList.get(position);
holder.carFav.setImageBitmap(model.getImage());
}
還有我的模特
public class CarModel{
private Bitmap image;
public CarModel() {
}
public Bitmap getImage() {
return image;
}
public void setImage(Bitmap image) {
this.image = image;
}
}
問題是我的recyclerview顯示了5輛車,但這似乎是汽車arraylist的最后一個元素,當同一輛車填充5個空格時,它應該顯示加載到arraylist中的5輛不同
謝謝
我認為這是因為整個mCarsArrayList
都引用同一對象。
嘗試添加此行
model = new Model();
之前
model.setImage(mGetBitmap.getBitmapOfCar(mDataOfUse.getOrderedCars().get(i)));
加
CarModel模型= new CarModel(); 在for循環中
for (int i = 0; i < mDataOfUse.getMostUsedCars.size(); i++) {
CarModel model = new CarModel();
model.setImage(mGetBitmap.getBitmapOfCar(mDataOfUse.getOrderedCars().get(i)));
mCarsArrayList.add(model);
}
通知適配器
RecyclerAdapter mAdapter = new RecyclerAdapter (R.layout.item_car,mActivity,mCarsArrayList,dialog);
mRecyclerViewCars.setAdapter(mAdapter);
mAdapter.notifyDataSetChanged();
dialog.show();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.