java - 我想从 firebase 数据库获取订单详细信息到 firebase recyclerview 适配器
问题描述
我想从 firebase 获取所有数据,还想将这些数据存储到 firebase recyclerview。该代码仅显示最后进入回收站视图。但是当我从 Firebase 中删除最后一个数据时,它会显示倒数第二个数据。或如何将子字段添加到 firebase recyclerview。
mDatabase.addValueEventListener(new ValueEventListener() {
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1)
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot datas : dataSnapshot.getChildren()) {
keys = datas.getKey();
date = datas.child("date").getValue().toString();
IsCompleted = datas.child("isCompleted").getValue().toString();
MobileNoFB = datas.child("mobileNo").getValue().toString();
//Toast.makeText(YourOrdered.this, "Date is :- " + date + " IsCompleted:- " + IsCompleted, Toast.LENGTH_LONG).show();
if (MobileNoFB.matches(MobileNumber)) {
moDatabase = FirebaseDatabase.getInstance().getReference().child("Pending_Orders").child(keys).child("Orders");
// Recyclerview data
final FirebaseRecyclerAdapter<YourOrderAdapter, YourOrderViewHolder> YORecyclerView = new FirebaseRecyclerAdapter<YourOrderAdapter, YourOrderViewHolder>
(YourOrderAdapter.class, R.layout.client_order, YourOrderViewHolder.class, moDatabase) {
@Override
protected void populateViewHolder(final YourOrderViewHolder viewHolder, final YourOrderAdapter model, final int position) {
viewHolder.setProImage(getApplicationContext(), model.getProductImage());
viewHolder.setProductQuantity(model.getProductQuantity());
viewHolder.setDate(date);
viewHolder.setIsCompleted(IsCompleted);
viewHolder.setProductColor(model.getProductColor());
viewHolder.setProductNo(model.getProductNo());
}
};
YORecyclerView.notifyDataSetChanged();
mBlogList.setAdapter(YORecyclerView);
} else {
Toast.makeText(YourOrdered.this, "Ordered does not found...", Toast.LENGTH_LONG).show();
}
//Toast.makeText(YourOrdered.this, "I is:- " + i, Toast.LENGTH_LONG).show();
}
//Toast.makeText(YourOrdered.this, "Date is :- " + date + " IsCompleted:- " + IsCompleted,Toast.LENGTH_LONG).show();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
解决方案
请删除
`mBlogList.setAdapter(YORecyclerView);`
从 for 循环并在 for 循环之后添加它
`mBlogList.setAdapter(YORecyclerView);`
推荐阅读
- python - 马尔可夫链蒙特卡罗积分和无限循环
- javascript - React Native DuplicateError:重复的文件或模拟
- mysql - 显示在表格中,只有最后的雕像
- flutter - Flutter:将+图标添加到自动完成?
- java - 如何修复“SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。”
- json - 解析 POST 请求中发送的 json body 数组并打印
- jmeter - 如何在 Pepper-Box 纯文本配置中打印迭代号?
- macos - 使用为 MacOS 构建的框架的 Catalyst 应用程序
- php - 将优惠券添加到现有的 WooCommerce 订阅
- c# - 在 WebAssembly 上使用 Uno Platform 和 Xamarin.Forms 时出现“包含重复的 'EmbeddedResource' 项目”