【发布时间】:2018-05-27 17:44:16
【问题描述】:
我的应用程序在 RecyclerView 中显示了一些不同的 firebase 子项及其值。
我在应用程序上创建了一个方法,该方法可以删除一个子项,但是在我删除了一个在我的应用程序崩溃之前显示在片段上的 RecyclerView 上的 firebase 子项之后,因为它无法在 RecyclerView 上找到子项的名称和值(很明显,因为我刚刚删除了它们)
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
at world.cryneo.partytime.java.RequestsFragment$2$1.onDataChange(RequestsFragment.java:108)
这里它没有得到孩子的值,因为孩子被删除了。
final String eventName = dataSnapshot.child("Name").getValue().toString();
在onCreateView 块中,我告诉数据库保持同步。我以为这会解决它,但问题仍然存在。
mEventsDatabase.keepSynced(true);
那么我如何告诉 firebase 和 Recycler View 我刚刚删除了一个孩子及其值,它不应该因下载不存在的数据而崩溃?
这是我从火力基地获取孩子的方法:
mEventsDatabase.child(list_event_id).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
final String eventName = dataSnapshot.child("Name").getValue().toString();
...
【问题讨论】:
标签: android firebase firebase-realtime-database nullpointerexception android-recyclerview