【发布时间】:2017-05-02 22:25:41
【问题描述】:
我有一个新闻节点
News
- key
-title
-content
我创建了一个名为 read_news 的新节点
ReadNews
-key
-news-key: true
-news-key2: true
-news-key3: true
现在的问题是,当我从控制台删除 News 节点中的全部或部分条目时,ReadNews 节点仍然保留删除新闻的参考 ID。当我运行该应用程序时,它会显示两个单元格而不是一个空的 RecyclerView。
我进行了调试,我意识到 FirebaseRecylerAdapter 仍然计算该节点中的项目数,即使我引用节点中的项目的位置已被删除。
我如何创建一个条件来知道 news-key 是否在 News 节点中不存在,并且 FirebaseRecyclerAdapter 会跳过它。
mDatabaseRef = FirebaseDatabase.getInstance().getReference().child("newspapers");
mDatabaseRef.child(getRef(position).getKey()).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.getValue() == null) {
Log.d("dsmfdvmms", "");
}else{
NewsPaper newsPaper = dataSnapshot.getValue(NewsPaper.class);
viewHolder.libraryName.setText(newsPaper.getPaper_name());
loadImage(viewHolder.libraryImage, newsPaper.getLogo(), context);
vendotName = newsPaper.getPaper_name();
vendorIcon = newsPaper.getLogo();
vendorId = dataSnapshot.getKey();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
【问题讨论】:
标签: android firebase firebase-realtime-database android-recyclerview