每当我按下应用程序中的登录按钮时,就会出现此错误。有什么建议吗?
java.lang.NullPointerExcture:尝试在com.example.android.login.LoginActivity.is空(LoginActivity.java:93)在com.example.android.login.登录ctivity.access0美元(登录ctivity.java:20)在com.example.android.login.登录活动1.on点击(登录ctivity.java:47)在android.view.View.perform点击(View.java:5191)在android.view.查看$PerformClick.run(View.java:20916)在android.os.Handler. handleCallback(Handler. java: 739)在android. os.在android. os.在android. app.ActivityThread. main(ActivityThread. java: 5972)在java. lang.反射。方法调用(本机方法)在java. lang.反射。方法调用(方法. java: 372)在com. android. interal. os。ZygoteInit$method odAndArgsCaller. run(ZygoteInit. java: 1388)在com. android. interal. os。ZygoteInit. main(ZygoteInit. java: 1183)
这是我的密码:
package com.example.android.login;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.parse.LogInCallback;
import com.parse.Parse;
import com.parse.ParseException;
import com.parse.ParseUser;
/**
* Created by alex on 6/22/2015.
*/
public class LoginActivity extends Activity {
protected EditText usernameView;
protected EditText passwordView;
protected Button login;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.login_activity);
// Set up the login form.
usernameView = (EditText) findViewById(R.id.email);
passwordView = (EditText) findViewById(R.id.password);
login = (Button) findViewById(R.id.loginSubmit);
// Set up the submit button click handler
login.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
// Validate the log in data
boolean validationError = false;
StringBuilder validationErrorMessage =
new StringBuilder(getResources().getString(R.string.error_intro));
if (isEmpty(usernameView)) {
validationError = true;
validationErrorMessage.append(getResources().getString(R.string.error_blank_username));
}
if (isEmpty(passwordView)) {
if (validationError) {
validationErrorMessage.append(getResources().getString(R.string.error_join));
}
validationError = true;
validationErrorMessage.append(getResources().getString(R.string.error_blank_password));
}
validationErrorMessage.append(getResources().getString(R.string.error_end));
// If there is a validation error, display the error
if (validationError) {
Toast.makeText(LoginActivity.this, validationErrorMessage.toString(), Toast.LENGTH_LONG)
.show();
return;
}
// Set up a progress dialog
final ProgressDialog dlg = new ProgressDialog(LoginActivity.this);
dlg.setTitle("Please wait.");
dlg.setMessage("Logging in. Please wait.");
dlg.show();
String email=usernameView.getText().toString();
String password = passwordView.getText().toString();
Parse.initialize(LoginActivity.this, "rk1rRk43ArNaSp6kxrjwLOlLbwh2n1rDlWxUYB5p", "1Yd2vjpZLq7ofOoQoissgNJ4S6YtFO67ho59QYGT");
// Call the Parse login method
ParseUser.logInInBackground(email, password, new LogInCallback() {
@Override
public void done(ParseUser user, ParseException e) {
dlg.dismiss();
if (e != null) {
// Show the error message
Toast.makeText(LoginActivity.this, e.getMessage(), Toast.LENGTH_LONG).show();
} else {
// Start an intent for the dispatch activity
Intent intent = new Intent(LoginActivity.this, DispatchActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
}
});
}
});
}
private boolean isEmpty(EditText etText) {
if (etText.getText().toString().trim().length() > 0) {
return false;
} else {
return true;
}
}
}
我猜您的usernameView
或passwordView
为空,这意味着它可能找不到这些视图。我会做一个空检查,如果它为空,让它打印一个错误,然后看看会发生什么。
编辑:根据您编辑的控制台,我可以确认,事实上,对于那些编辑视图,它正在变为null。您应该首先检查为什么这可能是空的背后的潜在问题。一般来说,您可以将null强制转换为任何内容。
我怀疑您的id存在于其他布局中,但不存在于您的R.layout.login_activity
中。这将导致您在这些视图上获得null,即使您的IDE不会将此指示为错误(因为id在技术上存在,只是不在您的布局中)。
编辑2:进一步编辑...这实际上不是调用虚拟方法的问题,更多的是调用空引用上的方法,该引用在技术上是该对象的(由于强制转换)。Null仅仅意味着实际上没有该类型的对象,因此它不是所述对象的实例。因此,您不能在null上调用实例化方法(非静态方法)。
我希望这是关于您面临的错误的信息!:)
问题内容: 我正在尝试获取一些信息,但我的应用程序崩溃并显示以下消息: 这是代码: 这是一个纯课。的哪个调用不包含this 。我做错了吗?应始终位于内吗? 根据要求整体: 问题答案: 改成 您为布局充气。视图属于膨胀的布局。因此,使用view对象在中初始化视图 片段由活动主持 您可以在视图中使用和初始化 还在中初始化TextView 。由于Asynctask是一个内部类,因此您可以在那里更新ui
当我运行我的应用程序时,我有一个异常显示,所以我想帮助我:)异常是:java。lang.NullPointerException:尝试调用虚拟方法“int java”。lang.String。空对象引用上的长度() 当我单击Login类中的dd1按钮和按钮实现(public void getData(View v))方法时,会显示异常 非常感谢。 登录类 HttpManager类 日志:
问题内容: Process: com.example.vicevirus.myapplication, PID: 13471 java.lang.NullPointerException: Attempt to invoke virtual method ‘java.lang.String com.google.firebase.auth.FirebaseUser.getUid()’ on a n
在为我的CardView设置onclick listner时获得Nullpointer异常。 错误为: 原因:java.lang.NullPointerException:试图对com.jaysurya.project_scrollwithTap.mainactivity.onCreate(mainactivity.java:27)处的空对象引用调用虚拟方法“void android.suppor
每当我尝试使用firebase auth注册用户时,我的应用程序就会崩溃。我的代码如下: