I am new to Android and I am trying to make a registration portal. But I keep getting this error
Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
Register.java:
package com.example.trackandtrigger;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class register extends AppCompatActivity {
final String valid_email = "^[\\w!#$%&'*+/=?`{|}~^-]+(?:\\.[\\w!#$%&'*+/=?`{|}~^-]+)*@(?:[a-
zA-Z0-9-]+\\.)+[a-zA-Z]{2,6}$";
final String valid_password = "^(?=.*[A-Za-z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za-z\\d@$!%*#?&]
{8,}$";//Minimum eight characters, at least one letter, one number and one special character
final String valid_phone = "^\\d{10}$";
final Pattern mail = Pattern.compile(valid_email);
final Pattern pass = Pattern.compile(valid_password);
final Pattern phno = Pattern.compile(valid_phone);
EditText mFullName,mEmail,mPassword,mPhone;
Button mRegisterBtn;
TextView mLoginBtn;
FirebaseAuth fAuth;
ProgressBar progressBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
mFullName = findViewById(R.id.FullName);
mEmail = findViewById(R.id.Email);
mPassword = findViewById(R.id.Password);
mPhone = findViewById(R.id.Phone);
mRegisterBtn= findViewById(R.id.Regbtn);
mLoginBtn = findViewById(R.id.Login);
fAuth=FirebaseAuth.getInstance();
progressBar=findViewById(R.id.progressBar);
mRegisterBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String email = mEmail.getText().toString().trim();
String password = mPassword.getText().toString();
String phone=mPhone.getText().toString();
Matcher mat1=mail.matcher(email);
Matcher mat2=pass.matcher(password);
Matcher mat3=phno.matcher(phone);
if(!mat1.matches()) {
mEmail.setError("Enter valid Email");
return;
}
else if(!mat2.matches()) {
mPassword.setError("Minimum 8 characters, at least 1 letter, 1 number and 1 special character");
return;
}
else if(!mat3.matches()) {
mPhone.setError("Enter 10 digit phone no.");
return;
}
else {
progressBar.setVisibility(View.VISIBLE);
}
}
});
}
}
activity_register.xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/app_back"
android:textAlignment="center"
tools:context=".register">
<TextView
android:id="@+id/editTextTextPersonName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="150dp"
android:layout_marginEnd="150dp"
android:layout_marginBottom="200dp"
android:ems="10"
android:fontFamily="@font/alegreya_bold"
android:inputType="textPersonName"
android:text="T&T APP"
android:textAlignment="center"
android:textColor="#000000"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.502"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.093" />
<TextView
android:id="@+id/editTextTextPersonName2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="83dp"
android:layout_marginTop="32dp"
android:layout_marginEnd="81dp"
android:layout_marginBottom="128dp"
android:ems="10"
android:inputType="textPersonName"
android:text="Create new Account"
android:textAlignment="center"
android:textSize="18sp"
app:layout_constraintBottom_toTopOf="@+id/FullName"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.488"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editTextTextPersonName" />
<EditText
android:id="@+id/FullName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="128dp"
android:layout_marginEnd="16dp"
android:background="@color/black"
android:ems="10"
android:hint="Full Name"
android:inputType="textPersonName"
android:padding="10dp"
android:textColor="#FFFFFF"
android:textColorHint="#FFFFFF"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editTextTextPersonName2" />
<EditText
android:id="@+id/Email"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="16dp"
android:background="@color/black"
android:ems="10"
android:hint="Email"
android:inputType="textPersonName"
android:padding="10dp"
android:textColor="#FFFFFF"
android:textColorHint="#FBFBFB"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/FullName" />
<EditText
android:id="@+id/Password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="14dp"
android:layout_marginTop="14dp"
android:layout_marginEnd="14dp"
android:background="@color/black"
android:ems="10"
android:hint="Password"
android:inputType="textPersonName"
android:padding="10dp"
android:textColor="#FFFFFF"
android:textColorHint="#FFFFFF"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/Email" />
<EditText
android:id="@+id/Phone"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:layout_marginStart="16dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="16dp"
android:background="@color/black"
android:ems="10"
android:hint="Phone Number"
android:inputType="textPersonName"
android:textColor="#FFFFFF"
android:textColorHint="#FFFFFF"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/Password" />
<Button
android:id="@+id/Regbtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="120dp"
android:layout_marginTop="31dp"
android:layout_marginEnd="121dp"
android:text="Register"
app:backgroundTint="#ED4E4E"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.503"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/Phone" />
<TextView
android:id="@+id/Login"
android:layout_width="200dp"
android:layout_height="40dp"
android:layout_marginStart="95dp"
android:layout_marginEnd="96dp"
android:ems="10"
android:inputType="textPersonName"
android:text="Already Registered? Login Here"
android:textAlignment="center"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/Regbtn" />
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="229dp"
android:layout_marginTop="35dp"
android:layout_marginEnd="228dp"
android:visibility="invisible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/Login" />
</androidx.constraintlayout.widget.ConstraintLayout>
The problem seems to be with Register Button(id:Regbtn). Please help me out.