尝试在空对象引用上调用虚拟方法“ java.lang.Boolean”

时间:2019-09-27 16:32:53

标签: android

我遇到了运行时错误。一旦我单击登录按钮,页面就会转移到主页。

我以前在另一个应用程序中使用过的相同代码,并且运行良好。但是现在在新的应用程序中再次使用此代码使我陷入上述错误。 任何帮助表示赞赏。谢谢。

这是“ login.java”的代码

System.Data

这是完整的错误:

  

E / Android运行时:致命异常:主要       流程:com.example.tictactoe_new,PID:24511       java.lang.NullPointerException:尝试调用虚拟方法'java.lang.Boolean   com.example.tictactoe_new.databaseHelper.email_password(java.lang.String,   java.lang.String)'上的空对象引用           在com.example.tictactoe_new.login $ 3.onClick(login.java:68)           在android.view.View.performClick(View.java:5215)           在android.view.View $ PerformClick.run(View.java:21196)           在android.os.Handler.handleCallback(Handler.java:742)           在android.os.Handler.dispatchMessage(Handler.java:95)           在android.os.Looper.loop(Looper.java:157)           在android.app.ActivityThread.main(ActivityThread.java:5603)           在java.lang.reflect.Method.invoke(本机方法)           在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:774)           在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)

1 个答案:

答案 0 :(得分:0)

您正尝试用Boolean检查null;这就是它引发试图在空对象引用上调用虚拟方法'java.lang.Boolean'

的原因
login.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    ...
    //Check whether db.email_password return null in any case
    Boolean check=db.email_password(s1,s2)!=null?true:false;
    if(check){
        ...
    }
    else {
        ...
     }
});