Java 当进入使用Firebase Auth&;的活动时,我的应用程序崩溃;数据库

Java 当进入使用Firebase Auth&;的活动时,我的应用程序崩溃;数据库,java,firebase,firebase-realtime-database,firebase-authentication,Java,Firebase,Firebase Realtime Database,Firebase Authentication,每次我使用intent启动此活动时,我的应用程序都会崩溃。此活动允许人们输入一些详细信息,以便使用Firebase Auth&Database注册自己,并使用电子邮件和密码创建一个帐户进行登录。 包com.example.jamsecure import android.content.Intent; import android.os.Bundle; import android.util.Patterns; import android.view.View; import android.w

每次我使用intent启动此活动时,我的应用程序都会崩溃。此活动允许人们输入一些详细信息,以便使用Firebase Auth&Database注册自己,并使用电子邮件和密码创建一个帐户进行登录。 包com.example.jamsecure

import android.content.Intent;
import android.os.Bundle;
import android.util.Patterns;
import android.view.View;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.Spinner;
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 com.google.firebase.database.FirebaseDatabase;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

public class Register extends AppCompatActivity {
   EditText email, pw, mob, pwr, fname;
   Spinner loc;
   ProgressBar progressBar;

   private FirebaseAuth mAuth;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_user_register);
        progressBar=(ProgressBar) findViewById(R.id.progressBar);
        progressBar.setVisibility(View.GONE);
        email=findViewById(R.id.temail);
        pw=findViewById(R.id.tpw);
        mob=findViewById(R.id.tcn);
        loc=findViewById(R.id.tl);
        pwr=findViewById(R.id.tpwr);
        fname=findViewById(R.id.tfn);
        mAuth = FirebaseAuth.getInstance();
        findViewById(R.id.br).setOnClickListener((View.OnClickListener) this);

    }

    @Override
    protected void onStart() {
        super.onStart();
        if(mAuth.getCurrentUser()!=null){
            //handle it
        }
    }

    private void registerUser(){
        final String em=email.getText().toString().trim();
        final String name=fname.getText().toString().trim();
        String password=pw.getText().toString().trim();
        String password_re=pwr.getText().toString().trim();
        final String phone=mob.getText().toString().trim();
        final String location=loc.getSelectedItem().toString().trim();
        if(name.isEmpty()){
            fname.setError("Please Enter Full Name");
            fname.requestFocus();
            return;
        }
        if(em.isEmpty()){
            email.setError("Email Required");
            email.requestFocus();
            return;
        }
        if(!Patterns.EMAIL_ADDRESS.matcher(em).matches()){
             email.setError("Enter Valid Email");
             email.requestFocus();
             return;
        }
        if(password.isEmpty()){
            pw.setError("Enter Password");
            pw.requestFocus();
            return;
        }
        if(password_re.isEmpty()){
            pw.setError("Enter Password Again");
            pw.requestFocus();
            return;
        }
        if(phone.isEmpty()){
            mob.setError("Please Enter Contact Info");
            mob.requestFocus();
            return;
        }
        if(location.isEmpty()){
            Toast toast = Toast.makeText(this, "Please Select Location", Toast.LENGTH_LONG);
            toast.show();
            return;
        }
        progressBar.setVisibility(View.VISIBLE);
        mAuth.createUserWithEmailAndPassword(em,password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {

                if(task.isSuccessful()){
                    User user = new User(name,em,phone,location);
                    FirebaseDatabase.getInstance().getReference("Users")
                            .child(FirebaseAuth.getInstance().getCurrentUser().getUid())
                            .setValue(user).addOnCompleteListener(new OnCompleteListener<Void>() {
                        @Override
                        public void onComplete(@NonNull Task<Void> task) {
                            progressBar.setVisibility(View.GONE);
                           if(task.isSuccessful()){
                               Toast.makeText(Register.this,"Registration Successful" ,Toast.LENGTH_LONG).show();
                               Intent i = new Intent(Register.this,MainActivity.class);
                               startActivity(i);
                            }
                           else{
                               Toast.makeText(Register.this,"Unable To Register",Toast.LENGTH_LONG).show();
                           }
                        }
                    });
                }
                else{
                    Toast.makeText(Register.this, task.getException().getMessage(),Toast.LENGTH_LONG).show();
                }
            }
        });
    }

    public void onClick(View v){
        switch (v.getId()){
            case R.id.br: registerUser();
                break;
        }
    }
}

您必须实现查看。OnClickListener:

public class Register extends AppCompatActivity implements View.OnClickListener {

并将@Override添加到onClick方法。

使您的类实现View.OnClickListener,然后在代码中向onClick方法添加@Override

 public class Register extends AppCompatActivity implements View.OnCLickListener {
//your code here
}

    @Override
        public void onClick(View v){
            switch (v.getId()){
                case R.id.br: registerUser();
                    break;
            }
    }

这回答了你的问题吗???这回答了你的问题吗?
 public class Register extends AppCompatActivity implements View.OnCLickListener {
//your code here
}

    @Override
        public void onClick(View v){
            switch (v.getId()){
                case R.id.br: registerUser();
                    break;
            }
    }