Java 当我按下提交按钮进入第二个活动时,Android Studio应用程序崩溃

Java 当我按下提交按钮进入第二个活动时,Android Studio应用程序崩溃,java,android,Java,Android,首先,我对Android编程非常陌生,我正在尝试开发一个显示消息的简单应用程序,当你按下消息下方的按钮时,它会将你发送到第二个活动,这是一个表单。该应用程序没有链接到任何数据库,我只是尝试在应用程序中开发一个验证算法,因此EditText中写入的数据是正确的。像名字只有字母等。我创建了两个活动,按下按钮后从第一个跳到第二个是有效的,但那是在我添加验证算法之前。现在,实现了这一点,每当我按下“开始!”按钮(第一个活动提交一个),应用程序就会崩溃 清单: <?xml version="1.0"

首先,我对Android编程非常陌生,我正在尝试开发一个显示消息的简单应用程序,当你按下消息下方的按钮时,它会将你发送到第二个活动,这是一个表单。该应用程序没有链接到任何数据库,我只是尝试在应用程序中开发一个验证算法,因此EditText中写入的数据是正确的。像名字只有字母等。我创建了两个活动,按下按钮后从第一个跳到第二个是有效的,但那是在我添加验证算法之前。现在,实现了这一点,每当我按下“开始!”按钮(第一个活动提交一个),应用程序就会崩溃

清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.myapplication">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:ignore="GoogleAppIndexingWarning">

        <activity
            android:name=".Inregistrare"
            android:exported="true"
            android:theme="@style/AppTheme1" />
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
 package com.example.myapplication;

    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;

    import androidx.appcompat.app.AppCompatActivity;

    public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button submitButton = findViewById(R.id.submitButton);
        submitButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Inregistrare();
            }
            });
            }
            public void Inregistrare(){
            Intent intent = new Intent(this,Inregistrare.class);
            startActivity(intent);
    }
    }
   package com.example.myapplication;

    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    import androidx.appcompat.app.AppCompatActivity;

    public class Inregistrare extends AppCompatActivity {
        EditText nume, prenume, email, telefon;
        TextView rezultat;
        Button submit;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_inregistrare);
            submit.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view)
                { final   String Nume = nume.getText().toString();
                    final String Prenume=prenume.getText().toString();
                    final String Email=email.getText().toString();
                    final String Telefon=telefon.getText().toString();
                if(Nume.length()==0)
                {
                    nume.requestFocus();
                    nume.setError("Campul nu poate fi lasat liber");
                }
                else if(!Nume.matches("[a-zA-Z ]+"))
                {
                    nume.requestFocus();
                    nume.setError("Campul poate fi completat doar cu litere");
                }
                else if(Prenume.length()==0)
                {
                    prenume.requestFocus();
                    prenume.setError("Campul nu poate fi lasat liber");
                }
                else if(!Prenume.matches("[a-zA-Z ]+")) {
                    prenume.requestFocus();
                    prenume.setError("Campul poate fi completat doar cu litere");
                }
                else if(Email.length()==0)
                {
                    email.requestFocus();
                    email.setError("Campul nu poate fi lasat liber");
                }
                else if(!Email.matches("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$"))
                {
                    email.requestFocus();
                    email.setError("Campul poate fi completat doar cu litere");
                }
                else if(Telefon.length()==0 || Telefon.length()<10)
                {
                    telefon.requestFocus();
                    telefon.setError("Campul nu poate fi lasat liber si trebuie sa aiba minim 10 cifre");
                }
                else if(!Telefon.matches("[0-9]+"))
                {
                    telefon.requestFocus();
                    telefon.setError("Campul poate fi completat doar cu cifre");
                }
                else{
                    rezultat = findViewById(R.id.rezultat);
                    String date="Date corecte!";
                    rezultat.setText(date);
                }
            }
        })
        ;}
    }
registrare.java中的第二个活动

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example.myapplication">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:ignore="GoogleAppIndexingWarning">

        <activity
            android:name=".Inregistrare"
            android:exported="true"
            android:theme="@style/AppTheme1" />
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
 package com.example.myapplication;

    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;

    import androidx.appcompat.app.AppCompatActivity;

    public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button submitButton = findViewById(R.id.submitButton);
        submitButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Inregistrare();
            }
            });
            }
            public void Inregistrare(){
            Intent intent = new Intent(this,Inregistrare.class);
            startActivity(intent);
    }
    }
   package com.example.myapplication;

    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    import androidx.appcompat.app.AppCompatActivity;

    public class Inregistrare extends AppCompatActivity {
        EditText nume, prenume, email, telefon;
        TextView rezultat;
        Button submit;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_inregistrare);
            submit.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view)
                { final   String Nume = nume.getText().toString();
                    final String Prenume=prenume.getText().toString();
                    final String Email=email.getText().toString();
                    final String Telefon=telefon.getText().toString();
                if(Nume.length()==0)
                {
                    nume.requestFocus();
                    nume.setError("Campul nu poate fi lasat liber");
                }
                else if(!Nume.matches("[a-zA-Z ]+"))
                {
                    nume.requestFocus();
                    nume.setError("Campul poate fi completat doar cu litere");
                }
                else if(Prenume.length()==0)
                {
                    prenume.requestFocus();
                    prenume.setError("Campul nu poate fi lasat liber");
                }
                else if(!Prenume.matches("[a-zA-Z ]+")) {
                    prenume.requestFocus();
                    prenume.setError("Campul poate fi completat doar cu litere");
                }
                else if(Email.length()==0)
                {
                    email.requestFocus();
                    email.setError("Campul nu poate fi lasat liber");
                }
                else if(!Email.matches("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,6}$"))
                {
                    email.requestFocus();
                    email.setError("Campul poate fi completat doar cu litere");
                }
                else if(Telefon.length()==0 || Telefon.length()<10)
                {
                    telefon.requestFocus();
                    telefon.setError("Campul nu poate fi lasat liber si trebuie sa aiba minim 10 cifre");
                }
                else if(!Telefon.matches("[0-9]+"))
                {
                    telefon.requestFocus();
                    telefon.setError("Campul poate fi completat doar cu cifre");
                }
                else{
                    rezultat = findViewById(R.id.rezultat);
                    String date="Date corecte!";
                    rezultat.setText(date);
                }
            }
        })
        ;}
    }
package com.example.myapplication;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.TextView;
导入androidx.appcompat.app.appcompat活动;
Registrare中的公共类扩展了AppCompative活动{
编辑文本nume、prenume、电子邮件、电话;
TextView-rezultat;
按钮提交;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(注册表中的R.layout.activity_);
submit.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图)
{最终字符串Nume=Nume.getText().toString();
最后一个字符串Prenume=Prenume.getText().toString();
最终字符串Email=Email.getText().toString();
最终字符串Telefon=Telefon.getText().toString();
如果(Nume.length()==0)
{
requestFocus();
nume.setError(“自由之门”);
}
如果(!Nume.matches(“[a-zA-Z]+”),则为else
{
requestFocus();
nume.setError(“完整的数据集”);
}
else if(Prenume.length()=0)
{
prenume.requestFocus();
prenume.setError(“自由之乡”);
}
如果(!Prenume.matches(“[a-zA-Z]+”),则为else{
prenume.requestFocus();
prenume.setError(“完全符合要求”);
}
else if(Email.length()==0)
{
email.requestFocus();
email.setError(“Campul nu poate fi lasat liber”);
}
如果(!Email.matches(“^[A-Z0-9.\%+-]+@[A-Z0-9.-]+\\[A-Z]{2,6}$”)
{
email.requestFocus();
email.setError(“Campul poate fi completat doar cu litere”);
}

else if(Telefon.length()==0 | | Telefon.length())你能把崩溃日志放进去吗?你能提供崩溃日志吗你从来没有在第二个活动的
onCreate
中初始化
submit
。安迪的回答是正确的。谢谢安迪!这确实是个问题。现在的另一个问题是,当我完成字段时,在第二个活动中按下submit按钮后,应用程序首先在第1个活动中返回st活动,如果我重试,它将崩溃。由于字符限制,我无法添加崩溃日志