0

I'm new to android-firebase. I'm trying this hard coded code for segregation of admin from user but i'm getting NullPointerException error.

My code is :-

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    auth = FirebaseAuth.getInstance();
    //editGreet=(TextView)findViewById(R.id.mainGreet);


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

    inputEmail = (EditText) findViewById(R.id.email);
    inputPassword = (EditText) findViewById(R.id.password);

    FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                    .setAction("Action", null).show();
        }
    });
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
public void login(View view){

    final String email = inputEmail.getText().toString();
    final String password = inputPassword.getText().toString();

    if (TextUtils.isEmpty(email)) {
        Toast.makeText(getApplicationContext(), "Enter email address!", Toast.LENGTH_SHORT).show();
        return;
    }

    if (TextUtils.isEmpty(password)) {
        Toast.makeText(getApplicationContext(), "Enter password!", Toast.LENGTH_SHORT).show();
        return;
    }

    auth.signInWithEmailAndPassword(email, password)
            .addOnCompleteListener(Login.this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {

                    if (!task.isSuccessful()) {

                        if (password.length() < 6) {
                            Toast.makeText(getApplicationContext(), "Password too short, enter minimum 6 characters!", Toast.LENGTH_LONG).show();
                            ;
                        } else {
                            Toast.makeText(getApplicationContext(), "Authentication failed." ,
                                    Toast.LENGTH_LONG).show();
                        }
                        Intent intent = new Intent(getApplicationContext(), Login.class);
                        startActivity(intent);
                        finish();
                    } else {
                        Toast.makeText(getApplicationContext(), "Login successful", Toast.LENGTH_SHORT).show();
                        //String uid= auth.getCurrentUser().getUid();
                       if(inputEmail.getText().toString().contentEquals("admin@admin.com")){
                           Intent intent = new Intent(Login.this, Admin.class);
                            startActivity(intent);
                            finish();
                       }
                        else {
                           startActivity(new Intent(Login.this, User.class));
                           finish();
                       }
                    }

                }
            });
}

error that i'm getting is:-

11-01 01:32:50.369 12389-12389/com.example.admin.revlon2 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.admin.revlon2, PID: 12389
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.admin.revlon2/com.example.admin.revlon2.Admin}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2250)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2413)
   at android.app.ActivityThread.access$800(ActivityThread.java:155)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1317)
   at android.os.Handler.dispatchMessage(Handler.java:102)
   at android.os.Looper.loop(Looper.java:135)
   at android.app.ActivityThread.main(ActivityThread.java:5343)
   at java.lang.reflect.Method.invoke(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:372)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference
   at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:68)
   at android.support.v7.app.AppCompatDelegateImplV7.<init>(AppCompatDelegateImplV7.java:146)
   at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:28)
   at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:41)
   at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:190)
   at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:172)
   at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:512)
   at android.support.v7.app.AppCompatActivity.findViewById(AppCompatActivity.java:184)
   at com.example.admin.revlon2.Admin.<init>(Admin.java:25)
   at java.lang.reflect.Constructor.newInstance(Native Method)
   at java.lang.Class.newInstance(Class.java:1606)
   at android.app.Instrumentation.newActivity(Instrumentation.java:1089)
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2240)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2413) 
   at android.app.ActivityThread.access$800(ActivityThread.java:155) 
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1317) 
   at android.os.Handler.dispatchMessage(Handler.java:102) 
   at android.os.Looper.loop(Looper.java:135) 
   at android.app.ActivityThread.main(ActivityThread.java:5343) 
   at java.lang.reflect.Method.invoke(Native Method) 
   at java.lang.reflect.Method.invoke(Method.java:372) 
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) 
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700) 

upon clicking the button, login function is called. the app crashes as soon as the button is clicked, and produces the following error. Any help would be appreciated.

adjuremods
  • 2,938
  • 2
  • 12
  • 17
user6930989
  • 17
  • 1
  • 6
  • 1
    It looks that problem is not related with Firebase. You are doing something wrong in your AdminActivity. But I don't know what because I don't see it :) – Krzysztof Turek Oct 31 '16 at 20:35
  • The clue is here: Unable to instantiate activity ComponentInfo{com.example.admin.revlon2/com.example.admin.revlon2.Admin} – Krzysztof Turek Oct 31 '16 at 20:38

0 Answers0