我有一个检索功能,它从firebase数据库和以下代码中获取数据:
FirebaseFirestore.getInstance().collection("products")
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()){
for (int i=0; i<task.getResult().size(); i++){
Products p = new Products();
String Userid = task.getResult().getDocuments().get(i).getData().get("UserID").toString();
Log.d(TAG, "onComplete: "+Userid);
if (Userid.equals(FirebaseAuth.getInstance().getCurrentUser().getUid())){
String price = task.getResult().getDocuments().get(i).getData().get("productPrice").toString();
String Image = task.getResult().getDocuments().get(i).getData().get("UrlImage0").toString();
String title = task.getResult().getDocuments().get(i).getData().get("productName").toString();
// add all these data to the product class
Log.d(TAG, "onComplete: "+price+ title+Image);
p.setTitle(title);
p.setPrice(price);
p.setProductImage(Image);
viewProduct.onSuccess(p);
}
viewProduct.onSuccess(p);
}
}else {
viewProduct.onError("Something went wrong");
}
}
});
我将数据加载到带有gridview和以下代码的recyclerview中:
ListDataView.setLayoutManager(new GridLayoutManager(this, 2));
ListDataView.setHasFixedSize(true);
ListOutDateAdapter = new productAdapter(this, OutDateTrip);
ListDataView.setAdapter(ListOutDateAdapter);
// ListDataView.invalidate();
ListDataView.setHasFixedSize(true);
ListDataView.addItemDecoration(new DividerItemDecoration(ListDataView.getContext(), DividerItemDecoration.VERTICAL));
问题
*它会继续加载图像上显示的数据*
我已经检查了以下帖子,但没有解决我的问题
enter link description here
最佳答案
我已经一遍又一遍地检查了一个代码,这个问题我必须将项目两次添加到产品列表中,所以我删除了一个项目,一切都很好。