I'm getting this error when i create new user on firebase from my sign-up form :
java.lang.NullPointerException: Can't pass null for argument 'pathString' in child()
I search about this error on google and on YouTube but i don't found something for my program.
Here is a part of my code on SignUpActivity.java:
    final EditText email = findViewById(R.id.email_address);
    final EditText display_name = findViewById(R.id.display_name);
    final EditText password = findViewById(R.id.pass_sign_up);
    final EditText comfirm_pass = findViewById(R.id.comfirm_pass);
    final Button submit = findViewById(R.id.submit_btn_signup);
    final TextView signin = findViewById(R.id.textView8);
    final FirebaseAuth mAuth = FirebaseAuth.getInstance();
    final String[] error = new String[1];
    final ProgressBar loading_icon = findViewById(R.id.progressBar2);
    // hide loading icon \\
    loading_icon.setVisibility(View.GONE);
    signin.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(SignupActivity.this,MainActivity.class);
            startActivity(intent);
        }
    });
    submit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            loading_icon.setVisibility(View.VISIBLE);
            String email_input = email.getText().toString();
            String display_name_input = display_name.getText().toString();
            String password_input = password.getText().toString();
            String comfirm_pass_input = comfirm_pass.getText().toString();
            if (email_input.isEmpty() || display_name_input.isEmpty() || password_input.isEmpty() || comfirm_pass_input.isEmpty()){
                error[0] = "Please fill all the values and try again";
                Toast.makeText(SignupActivity.this, error[0], Toast.LENGTH_LONG).show();
                loading_icon.setVisibility(View.GONE);
            }else{
                if (!password_input.equals(comfirm_pass_input)){
                    error[0] = "passwords do not match";
                    Toast.makeText(SignupActivity.this, error[0], Toast.LENGTH_LONG).show();
                    loading_icon.setVisibility(View.GONE);
                }else{
                    mAuth.createUserWithEmailAndPassword(email_input,password_input).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                        @Override
                        public void onComplete(@NonNull @NotNull Task<AuthResult> task) {
                            if (task.isSuccessful()){
                                finish();
                                // set display name for user \\
                                FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
                                UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
                                        .setDisplayName(display_name_input).build();
                                user.updateProfile(profileUpdates);
                                DatabaseReference mRef = FirebaseDatabase.getInstance().getReference();
                                mRef.addValueEventListener(new ValueEventListener(){
                                    @Override
                                    public void onDataChange(@NotNull DataSnapshot dataSnapshot){
                                        // Get the max_user_id to set the main user id and create the user on Firebase real-time DB \\
                                        String maxUserId = dataSnapshot.child("max_user_id").getValue().toString();
                                        int maxUserIdToInt = Integer.parseInt(maxUserId);
                                        int userId = maxUserIdToInt+1;
                                        newUserId = String.valueOf(userId);
                                        mRef.child("users").child(newUserId).child("name").setValue(display_name_input);
                                    }
                                    @Override
                                    public void onCancelled(@NotNull DatabaseError databaseError){
                                        Toast.makeText(SignupActivity.this,"error: " + databaseError, Toast.LENGTH_LONG).show();
                                    }
                                });
                                mRef.child("users").child(newUserId);
                                
                                Intent intent = new Intent(SignupActivity.this,HomeActivity.class);
                                startActivity(intent);
                            }else{
                                loading_icon.setVisibility(View.GONE);
                                error[0] = "failed to sign up, the email address aleready exist or the password lenght is lower than 6 characters";
                                Toast.makeText(SignupActivity.this, error[0], Toast.LENGTH_LONG).show();
                            }
                        }
                    });
                }
            }
        }
    });
}
}
NOTE: i'm beginner on firebase for android applications. Also i created today my account here and stackoverflow is so cool and helpfull
 
     
    