0

When I click the register button then fetch NullPointerException like that kind of error

Process: com.example.swapno_samity, PID: 8406 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.swapno_samity/com.example.swapno_samity.MemberRegistration}: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.firebase.database.DatabaseReference com.google.firebase.database.DatabaseReference.child(java.lang.String)' on a null object reference
> at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2778) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.firebase.database.DatabaseReference com.google.firebase.database.DatabaseReference.child(java.lang.String)' on a null object reference at com.example.swapno_samity.MemberRegistration.onCreate(MemberRegistration.java:40)

Here the code

public class MemberRegistration extends AppCompatActivity {

    private EditText etName, etEmail, etDob, etPhoneNumber, etAddress, etIdCard, etPenCard, etAdarCard, etAmountOfLoan, etInterest;
    private RadioGroup radioGroupGender;
    private RadioButton etGender;

    public FirebaseDatabase firebaseDatabase;
    public DatabaseReference rootReference;
    public DatabaseReference memberReference;
    String memberId;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_member_registration);

        getSupportActionBar().setTitle("Registration Form");
        etName = findViewById(R.id.editText_register_full_name);
        etEmail = findViewById(R.id.editText_register_email);
        etDob = findViewById(R.id.editText_register_dob);
        etPhoneNumber = findViewById(R.id.editText_register_mobile);
        etAddress = findViewById(R.id.editText_register_adress);
        etIdCard = findViewById(R.id.editText_register_IdCard);
        etPenCard = findViewById(R.id.editText_register_PenCard);
        etAdarCard = findViewById(R.id.editText_register_AdarCard);
        etAmountOfLoan = findViewById(R.id.editText_register_AmountOfLoan);
        etInterest = findViewById(R.id.editText_register_interestOfLoan);
        radioGroupGender = findViewById(R.id.radio_group_register_gender);
        radioGroupGender.clearCheck();
        radioGroupGender.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                etGender = radioGroupGender.findViewById(checkedId);
            }
        });

        Button registerMember = findViewById(R.id.button_register);
        registerMember.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // obtain the entered data
                String textName = etName.getText().toString();
                String textEmail = etEmail.getText().toString();
                String textDob = etDob.getText().toString();
                String textAdress = etAddress.getText().toString();
                String textPhoneNumber = etPhoneNumber.getText().toString();
                String textIdCard = etIdCard.getText().toString();
                String textPenCard = etPenCard.getText().toString();
                String textAdarCard = etAdarCard.getText().toString();
                String textAmount = etAmountOfLoan.getText().toString();
                String textInterest = etInterest.getText().toString();
                String textGender = etGender.getText().toString();

                if (TextUtils.isEmpty(textName)) {
                    Toast.makeText(MemberRegistration.this, "Please Enter Your Full Name", Toast.LENGTH_SHORT).show();
                    etName.setError("Full Name Required");
                    etName.requestFocus();
                }
                if (TextUtils.isEmpty(textDob)) {
                    Toast.makeText(MemberRegistration.this, "Please Enter Date Of Birthday", Toast.LENGTH_SHORT).show();
                    etDob.setError("Date Of Birthday Required");
                    etDob.requestFocus();
                }
                if (TextUtils.isEmpty(textAdress)) {
                    Toast.makeText(MemberRegistration.this, "Please Enter Right Address", Toast.LENGTH_SHORT).show();
                    etAddress.setError("Address Required");
                    etAddress.requestFocus();
                }
                if (radioGroupGender.getCheckedRadioButtonId() == -1) {
                    Toast.makeText(MemberRegistration.this, "Please Select The Gender", Toast.LENGTH_SHORT).show();
                    etGender.setError("Address Required");
                    etGender.requestFocus();
                }
                if (TextUtils.isEmpty(textPhoneNumber)) {
                    Toast.makeText(MemberRegistration.this, "Please Enter The Phone Number", Toast.LENGTH_SHORT).show();
                    etPhoneNumber.setError("Phone Number Required");
                    etPhoneNumber.requestFocus();
                }
                if (textPhoneNumber.length() != 10) {
                    Toast.makeText(MemberRegistration.this, "Please Re-Enter The Phone Number", Toast.LENGTH_SHORT).show();
                    etPhoneNumber.setError("Phone Number Should be 10 Digits");
                    etPhoneNumber.requestFocus();
                }
                if (TextUtils.isEmpty(textAdarCard)) {
                    Toast.makeText(MemberRegistration.this, "Please Enter The Member Adar card Number", Toast.LENGTH_SHORT).show();
                    etAdarCard.setError("Member Adar card Number is Required");
                    etAdarCard.requestFocus();

                }
                else{
                    registerMemberUser(textName, textEmail, textDob, textGender, textAdress, textPhoneNumber, textIdCard, textPenCard, textAdarCard, textAmount, textInterest);

                }

            }
        });


    }

public void registerMemberUser(String textName, String textEmail, String textDob, String textGender, String textAdress, String textPhoneNumber, String textIdCard, String textPenCard, String textAdarCard, String textAmount, String textInterest) {

//      Data connection with realtime database
        firebaseDatabase = FirebaseDatabase.getInstance();
        rootReference = firebaseDatabase.getReference();
        memberReference = rootReference.child("Member Register Activity");
        memberId = memberReference.push().getKey();
        ReadWriteDetails readWriteDetails = new ReadWriteDetails(memberId, textName, textEmail, textDob, textGender, textAdress, textPhoneNumber, textIdCard, textPenCard, textAdarCard, textAmount, textInterest);
        memberReference.child(memberId).setValue(readWriteDetails).addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                Toast.makeText(MemberRegistration.this, "Sucessfully Completed", Toast.LENGTH_SHORT).show();
            }
        });
    }
}
Frank van Puffelen
  • 565,676
  • 79
  • 828
  • 807
Dolonkm
  • 11

1 Answers1

0

Please make sure that all these ids are the same as they are in the activity_member_registration.xml file:

    etName = findViewById(R.id.editText_register_full_name);
    etEmail = findViewById(R.id.editText_register_email);
    etDob = findViewById(R.id.editText_register_dob);
    etPhoneNumber = findViewById(R.id.editText_register_mobile);
    etAddress = findViewById(R.id.editText_register_adress);
    etIdCard = findViewById(R.id.editText_register_IdCard);
    etPenCard = findViewById(R.id.editText_register_PenCard);
    etAdarCard = findViewById(R.id.editText_register_AdarCard);
    etAmountOfLoan = findViewById(R.id.editText_register_AmountOfLoan);
    etInterest = findViewById(R.id.editText_register_interestOfLoan);
    radioGroupGender = findViewById(R.id.radio_group_register_gender);

For example check if editText_register_email is present in activity_member_registration.xml file, and the same for other ids.

Sergio
  • 27,326
  • 8
  • 128
  • 149