代码
if (dataSnapshot.child("Email").getValue().toString()==null) {
Email.setText("Email not found");
} else {
Email.setText(dataSnapshot.child("Email").getValue().toString());
}
if (dataSnapshot.child("Quote").getValue().toString()!=null) {
Email.setText(dataSnapshot.child("Quote").getValue().toString());
} else {
Email.setText("Quote not found");
}
if
语句所在的行本身显示错误。我该如何解决这个问题?
答案 0 :(得分:2)
您正在检查toString()
值是否为空。只有那个值。
您没有检查其前面的任何值。
dataSnapshot
可以为空。
dataSnapshot.child("Email")
可以为空。
dataSnapshot.child("Email").getValue()
可以为空。
获取每个值,将其保存到变量中,并对所有这些值进行空检查。
这是用Java做到这一点的唯一方法。
答案 1 :(得分:0)
if (dataSnapshot.child("Email").getValue().toString()==null) {
}
在if之前安装断点并对其进行调试。我认为dataSnapshot
为null或dataSnapshot.child("Email")
为null导致错误。
答案 2 :(得分:0)
这里是您如何重写它:
if(dataSnapshot != null && dataSnapshot.hasChild("Email") && dataSnapshot.child("Email").getValue() != null ){
//Your code...
}
您必须检查所有可能性。