Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 试图获取一个按钮来加载另一个活动,但OnClickListner正在使应用程序崩溃_Java_Android_Android Studio - Fatal编程技术网

Java 试图获取一个按钮来加载另一个活动,但OnClickListner正在使应用程序崩溃

Java 试图获取一个按钮来加载另一个活动,但OnClickListner正在使应用程序崩溃,java,android,android-studio,Java,Android,Android Studio,当点击注册按钮时,应用程序应该加载另一个活动,但它只是崩溃。我试着寻找并寻求帮助,但仍然无法修复。我还尝试删除“implements View.OnClickListner”,并在示例中使用它,但它不起作用。还尝试将xml文件更改为线性布局,但也没有成功。提前谢谢 public class LogInActivity extends AppCompatActivity implements View.OnClickListener { //user input variables EditTe

当点击注册按钮时,应用程序应该加载另一个活动,但它只是崩溃。我试着寻找并寻求帮助,但仍然无法修复。我还尝试删除“implements View.OnClickListner”,并在示例中使用它,但它不起作用。还尝试将xml文件更改为线性布局,但也没有成功。提前谢谢

public class LogInActivity extends AppCompatActivity implements View.OnClickListener {

//user input variables
EditText emailAddressInput;
EditText passwordInput;
Button logInButton;
Button registerButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //set the layout to activity_login.xml
    setContentView(R.layout.activity_login);

    //get user inputs and set to the variables
    emailAddressInput = (EditText)findViewById(R.id.emailAddressInput);
    passwordInput = (EditText)findViewById(R.id.passwordInput);
    logInButton = (Button)findViewById(R.id.logInButton);
    registerButton = (Button)findViewById(R.id.registerButton);

    logInButton.setOnClickListener(this);
    registerButton.setOnClickListener(this);
}

@Override
public void onClick(View view) {
    Intent registerIntent = new Intent (LogInActivity.this,RegisterActivity.class);

    switch (view.getId())
    {
        case R.id.logInButton:
            break;
        case R.id.registerButton:
            startActivity(registerIntent);
            break;
    }
}
}

编辑: 日志:

2020-04-04 16:02:10.759 12718-12718/com.example.blooddonorsystem E/AndroidRuntime:致命异常:main 进程:com.example.blooddonorsystem,PID:12718 java.lang.RuntimeException:无法启动activity ComponentInfo{com.example.blooddonorsystem/com.example.blooddonorsystem.RegisterActivity}:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)' 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)上 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)上 在android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 在android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)中 在android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)中 在android.app.ActivityThread$H.handleMessage上(ActivityThread.java:2016) 位于android.os.Handler.dispatchMessage(Handler.java:107) 位于android.os.Looper.loop(Looper.java:214) 位于android.app.ActivityThread.main(ActivityThread.java:7356) 位于java.lang.reflect.Method.invoke(本机方法) 位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)” 位于com.example.blooddonorsystem.RegisterActivity.onCreate(RegisterActivity.java:56) 位于android.app.Activity.performCreate(Activity.java:7825) 位于android.app.Activity.performCreate(Activity.java:7814) 位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306) 位于android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)上 在android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 在android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)中 在android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)中 在android.app.ActivityThread$H.handleMessage上(ActivityThread.java:2016) 位于android.os.Handler.dispatchMessage(Handler.java:107) 位于android.os.Looper.loop(Looper.java:214) 位于android.app.ActivityThread.main(ActivityThread.java:7356) 位于java.lang.reflect.Method.invoke(本机方法) 位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
在RegisterActivity中的com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

上,您将适配器设置为空的微调器似乎是空的。确保其值正确,通常为字符串的ArrayAdapter。

错误不在LoginActivity中,而是在RegisterActivity中。将适配器设置为微调器时,RegisterActivity中存在空指针异常

请发布崩溃日志,而不是解释使用Logcat来检查与崩溃相关的堆栈跟踪:Try button.setOnClickListener(new View.OnClickListener(){})甚至不知道它的存在,我现在就发布它。