2 回答
TA贡献1796条经验 获得超10个赞
问题解决了。原因是if语句正在交换详细信息对象中添加整个数据,如果它找到一个用户ID,然后它找到另一个并再次添加所有这些用户ID等。
所以我只是在if语句中创建了布洛尔,如果它找到了交换器ID,然后使用插件范围之外的适配器,则使其成为真。
shiftSwapDb.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
if (dataSnapshot.exists()) {
SwapDetails swapDetails = dataSnapshot.getValue(SwapDetails.class);
if (swapDetails.getSwapperID().equals(fromID)) {
hasSwaperID = true;
}
}
}
移位配置文件Adapter.add(swapDetails);
TA贡献1780条经验 获得超5个赞
试试这个
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
if (dataSnapshot.exists()) {
SwapDetails swapDetails = dataSnapshot.getValue(SwapDetails.class);
if (swapDetails.getSwapperID().equals(fromID)) {
swapBodyList.add(swapDetails);
shiftProfileAdapter.notifyItemInserted(swapBodyList.length - 1);
}
}
}
添加回答
举报