Java RecyclerView正在使用我的列表中的最后一个元素填充
我有一个RecyclerView,它可以放大5个图像,我获取图像并循环遍历每个图像,然后将其放置到模型中并在对话框中显示,但问题是显示的是相同的5个图像,而不是不同的图像Java RecyclerView正在使用我的列表中的最后一个元素填充,java,android,android-recyclerview,Java,Android,Android Recyclerview,我有一个RecyclerView,它可以放大5个图像,我获取图像并循环遍历每个图像,然后将其放置到模型中并在对话框中显示,但问题是显示的是相同的5个图像,而不是不同的图像 public void showHeartDialog() { dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setCancelable(true); dialog.setContentView(R.l
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();
}
还有我的模特
public class CarModel{
private Bitmap image;
public CarModel() {
}
public Bitmap getImage() {
return image;
}
public void setImage(Bitmap image) {
this.image = image;
}
}
问题是我的recyclerview显示了5辆车,但它似乎是arraylist中的最后一个元素,当它显示加载到arraylist中的不同5辆车时,它填充了同一辆车的5个空格
谢谢我想这是因为您的整个
mcarsaryList
正在重新引用同一个对象
尝试添加这一行
model = new Model();
以前
model.setImage(mGetBitmap.getBitmapOfCar(mDataOfUse.getOrderedCars().get(i)));
加
CarModel模型=新CarModel();内循环
for (int i = 0; i < mDataOfUse.getMostUsedCars.size(); i++) {
CarModel model = new CarModel();
model.setImage(mGetBitmap.getBitmapOfCar(mDataOfUse.getOrderedCars().get(i)));
mCarsArrayList.add(model);
}
for(int i=0;i
通知适配器
RecyclerAdapter mAdapter = new RecyclerAdapter (R.layout.item_car,mActivity,mCarsArrayList,dialog);
mRecyclerViewCars.setAdapter(mAdapter);
mAdapter.notifyDataSetChanged();
dialog.show();
显示您的mGetBitMap填充,因为我们无法看到您从中提取的不同图像。
RecyclerAdapter mAdapter = new RecyclerAdapter (R.layout.item_car,mActivity,mCarsArrayList,dialog);
mRecyclerViewCars.setAdapter(mAdapter);
mAdapter.notifyDataSetChanged();
dialog.show();