Android 尝试调用虚拟方法';java.lang.Boolean';关于空对象引用
我得到一个运行时错误。只要我点击登录按钮,页面就会被转移到主页 与我以前在另一个应用程序中使用的代码相同,它运行良好。但是现在在一个新的应用程序中再次使用此代码会让我陷入上述错误。 感谢您的帮助。多谢各位 下面是“login.java”的代码 以下是全部错误: E/AndroidRuntime:致命异常:主 流程:com.example.tictactoe_new,PID:24511 java.lang.NullPointerException:尝试调用虚拟方法“java.lang.Boolean” com.example.tictactoe_new.databaseHelper.email_密码(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)Android 尝试调用虚拟方法';java.lang.Boolean';关于空对象引用,android,Android,我得到一个运行时错误。只要我点击登录按钮,页面就会被转移到主页 与我以前在另一个应用程序中使用的代码相同,它运行良好。但是现在在一个新的应用程序中再次使用此代码会让我陷入上述错误。 感谢您的帮助。多谢各位 下面是“login.java”的代码 以下是全部错误: E/AndroidRuntime:致命异常:主 流程:com.example.tictactoe_new,PID:24511 java.lang.NullPointerException:尝试调用虚拟方法“java.lang.Boolea
您正在尝试使用
null
检查Boolean
;这就是它试图对空对象引用调用虚拟方法“java.lang.Boolean”的原因
阅读错误,错误会非常清楚地告诉你错误所在
getSupportActionBar().setTitle("Login");
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
forgot_password=(TextView)findViewById(R.id.forgot_password);
text_view_2_login=(TextView)findViewById(R.id.text_view_2_login);
username_login=(EditText)findViewById(R.id.username_login);
password_login=(EditText)findViewById(R.id.password_login);
login=(Button)findViewById(R.id.login);
forgot_password.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(view.getContext(),checkEmail.class);
startActivity(intent);
}
});
text_view_2_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(view.getContext(),sign_up.class);
startActivity(intent);
}
});
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String s1=username_login.getText().toString();
String s2=password_login.getText().toString();
if(s1.equals(""))
Toast.makeText(getApplicationContext(),"Please enter your email address",Toast.LENGTH_SHORT).show();
else if(s2.equals(""))
Toast.makeText(getApplicationContext(),"Please enter your password",Toast.LENGTH_SHORT).show();
else
{
Boolean check=db.email_password(s1,s2);
if(check)
{
Intent intent=new Intent(view.getContext(),gameHome.class);
startActivity(intent);
}
else
Toast.makeText(getApplicationContext(),"Invalid username or password",Toast.LENGTH_SHORT).show();;
}
}
});
}
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 {
...
}
});