java - 循环通过 firebase 时为空指针

标签 java android firebase firebase-realtime-database

我可能遗漏了一些东西,有人能帮我指出来吗,我试图在 firebase 中循环此节点,然后获取子节点“idno”,但是当我 toast 完整的快照时,即 (snapshot.getValue(). toString()), 它返回完整的数据集,但是试图从快照中获取子对象会给出一个空指针 snapshot.child("idno").getValue().toString(),请帮我弄清楚是什么我失踪了

The Node

DatabaseReference thefarmers = FirebaseDatabase.getInstance().getReference().child("Thepath").child("Farmers");
thefarmers.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
            //Get the child id
            theMethods.makeLongToast(snapshot.child("idno").getValue().toString());

        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        Toast.makeText(getActivity(), databaseError.getMessage().toString(), Toast.LENGTH_SHORT).show();
    }
});

这个theMethods.makeLongToast();是一个简单的方法,它接受一个字符串并制作一个 Toast

最佳答案

改变这一行

theMethods.makeLongToast(snapshot.child("idno").getValue().toString());

if (snapshot.hasChild("idno") && snapshot.child("idno") != null)
    theMethods.makeLongToast(snapshot.child("idno").getValue(String.class));

关于java - 循环通过 firebase 时为空指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58424742/

相关文章:

java - 在jboss服务器7.0中部署war文件

java - 如何通过请求体获取xml并解析到Spring boot

尽管在 Linux 上有图像,但 Android Studio AVD 无法正常工作

android - navigation drawer vs navigationview哪个最好,有什么区别

java - 如何将值推送到 Cloud Firestore 文档中的数组字段?

ios - Swift/NSMutableDisctionary init/如何使值可选

java - 来自InputStream的NoSuchMethodError : JsonFactory.

java - org.openqa.selenium.SessionNotCreatedException:无法创建新的远程 session 。在模拟器中初始化android驱动程序时

java - 不要在 DialogFragment 上再次显示复选框

ios - 重置 Firebase 缓存