Attempt to invoke virtual method 'void android.widget.EditText.setTransformationMethod on a null object reference

BlackCoder :

I am trying to sign up user and sign in using firebase authentication. My user successfully created. but when i trying to sign in getting the above error,I am trying to resolve but not getting the actual idea,Please help me with this,Thanks in advance,

My Sign in activity:

    public class Sign_In extends AppCompatActivity {

EditText Email;
EditText pwd;
Button login;
TextView Register,Forgetpwd;
FirebaseAuth mAuth;
ProgressDialog progressDialog;

final Context c = this;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sign__in);
    Firebase.setAndroidContext(this);

    mAuth = FirebaseAuth.getInstance();

    if (mAuth.getCurrentUser() != null) {
        startActivity(new Intent(Sign_In.this, MainActivity.class));
        finish();
    }

    Email = findViewById(R.id.myEmail);
    pwd = findViewById(R.id.Password);
    login = findViewById(R.id.buttonlogin);

    Register = findViewById(R.id.register);
    Forgetpwd = findViewById(R.id.reset);

    pwd.setTypeface(Typeface.DEFAULT);
    pwd.setTransformationMethod(new PasswordTransformationMethod());
    mAuth = FirebaseAuth.getInstance();

    Register.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(Sign_In.this,Sign_Up.class));
        }
    });

    Forgetpwd.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            LayoutInflater layoutInflaterAndroid = LayoutInflater.from(c);
            View mView = layoutInflaterAndroid.inflate(R.layout.forget_password, null);
            AlertDialog.Builder alertDialogBuilderUserInput = new AlertDialog.Builder(c);
            alertDialogBuilderUserInput.setView(mView);

            final EditText inputEmail =  mView.findViewById(R.id.myEmail);
            alertDialogBuilderUserInput
                    .setCancelable(false)

                    .setPositiveButton("RESET PASSWORD", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialogBox, int id) {
                            String email = inputEmail.getText().toString().trim();

                            if (TextUtils.isEmpty(email)) {
                                Toast.makeText(getApplication(), "Enter your registered email id", Toast.LENGTH_SHORT).show();
                                return;
                            }

                            if (TextUtils.isEmpty(email)) {
                                Toast.makeText(getApplication(), "Enter your registered email id", Toast.LENGTH_SHORT).show();
                                return;
                            }
                            if (!inputEmail.getText().toString().trim().equals("")) {
                                mAuth.sendPasswordResetEmail(inputEmail.getText().toString().trim())
                                        .addOnCompleteListener(new OnCompleteListener<Void>() {
                                            @Override
                                            public void onComplete(@NonNull Task<Void> task) {
                                                if (task.isSuccessful()) {
                                                    Toast.makeText(Sign_In.this, "Reset password email is sent!", Toast.LENGTH_SHORT).show();

                                                } else {
                                                    Toast.makeText(Sign_In.this, "Please enter your registered email", Toast.LENGTH_SHORT).show();
                                                }
                                            }
                                        });
                            } else {
                                inputEmail.setError("Enter email");
                            }
                        }
                    });

            AlertDialog alertDialogAndroid = alertDialogBuilderUserInput.create();
            alertDialogAndroid.show();
            Button button =  alertDialogAndroid.getButton(DialogInterface.BUTTON_POSITIVE);
            button.setBackgroundColor(Color.BLUE);
            button.setGravity(Gravity.CENTER);
            button.setTextColor(Color.WHITE);
            alertDialogAndroid.setCancelable(true);
        }
    });

    login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            String email = Email.getText().toString();
            final String password = pwd.getText().toString();


            if (TextUtils.isEmpty(email)) {
                Email.setError("Required");
                return;
            }else if (!Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
                Email.setError("Incorrect email format");
                return;
            }

            showProgressDialog();
            progressDialog.setCanceledOnTouchOutside(false);
            mAuth.signInWithEmailAndPassword(email, password)
                    .addOnCompleteListener(Sign_In.this, new OnCompleteListener<AuthResult>() {
                        @Override
                        public void onComplete(@NonNull Task<AuthResult> task) {
                            // If sign in fails, display a message to the user. If sign in succeeds
                            // the auth state listener will be notified and logic to handle the
                            // signed in user can be handled in the listener.
                            /*  progressBar.setVisibility(View.GONE);*/
                            if (!task.isSuccessful()) {

                                if(TextUtils.isEmpty(password)) {

                                    pwd.setError("Required");
                                    return;

                                }else if (task.getException() instanceof FirebaseAuthInvalidCredentialsException) {
                                    pwd.setError("Invalid Password");

                                    /* pwd.requestFocus();*/

                                } else {
                                    Email.setError("Invalid Email");
                                    hideProgressDialog();
                                    return;


                                    /*    Toast.makeText(getApplicationContext(), "Please enter valid email address", Toast.LENGTH_SHORT).show();*/
                                }
                            } else {
                                Toast.makeText(getApplicationContext(), "Login Successful", Toast.LENGTH_SHORT).show();
                                Intent intent = new Intent(Sign_In.this, MainActivity.class);
                                startActivity(intent);
                                finish();
                            }
                            hideProgressDialog();
                        }
                    });

        }
    });
}

@Override
public void onBackPressed() {
}

private void showProgressDialog() {

    if (progressDialog == null) {
        progressDialog = new ProgressDialog(this);
        progressDialog.setMessage(getString(R.string.loading));
        progressDialog.setIndeterminate(true);
    }
    progressDialog.show();
}


public void hideProgressDialog() {
    if (progressDialog != null && progressDialog.isShowing()) {
        progressDialog.dismiss();
    }
}

here is My Xml file:

 <RelativeLayout 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:gravity="center"
tools:context=".Sign_In">

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginLeft="28dp"
    android:layout_marginTop="5dp"
    android:layout_marginRight="28dp"
    android:gravity="center"
    android:orientation="vertical">

    <EditText
        android:id="@+id/myEmail"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:text=" User Name"
        android:textSize="18sp"
        android:shadowColor="@android:color/darker_gray"
        android:drawablePadding="10dp"
        android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
        android:singleLine="true"
        />

    <EditText
        android:id="@+id/pwd"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:text=" Password"
        android:textSize="18sp"
        android:shadowColor="@android:color/darker_gray"
        android:drawablePadding="10dp"
        android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
        android:singleLine="true"
        />


    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="60dp"
        android:paddingTop="6dp">

        <Button
            android:id="@+id/reset"
            android:layout_width="wrap_content"
            android:layout_height="20dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:background="@null"
            android:shadowColor="@android:color/darker_gray"
            android:paddingTop="0dp"
            android:textColor="@android:color/darker_gray"
            android:text="Forgot Password ?"
            android:textAllCaps="false"
            android:textStyle="bold|italic" />

    </RelativeLayout>


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center">

        <Button
            android:id="@+id/buttonlogin"
            android:layout_width="180dp"
            android:layout_height="wrap_content"
            android:layout_marginStart="2dp"
            android:layout_marginTop="30dp"
            android:background="@color/colorPrimaryDark"
            android:text=" SIGN IN"
            android:textColor="@android:color/white"
            android:textSize="14sp"
            android:textStyle="bold" />

    </RelativeLayout>

    <RelativeLayout

        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center">

    </RelativeLayout>


    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="30dp"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/reg"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="5dp"
            android:background="@null"
            android:paddingTop="10dp"
            android:text="No account yet?"
            android:textAllCaps="false"
            android:textColor="#747272" />

        <TextView
            android:id="@+id/register"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_gravity="top"
            android:layout_marginLeft="5dp"
            android:background="@null"
            android:gravity="top"
            android:paddingTop="10dp"
            android:text="Sign up now"
            android:textAllCaps="false"
            android:textColor="@color/colorPrimaryDark" />

    </LinearLayout>
</LinearLayout>

Please help me to resolve this

Peter Haddad :

You don't have any view that has the id Password, therefore in you code change this:

pwd = findViewById(R.id.Password)

Into this:

pwd = findViewById(R.id.pwd) 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=195276&siteId=1