0

I am making chatting application and getting error showing in logcat at Userfragment.java:

java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference
    at com.tonyapp.jpgrammar.Fragments.UsersFragment$6.onDataChange(UsersFragment.java:241)
    at com.google.firebase.database.core.ValueEventRegistration.fireEvent(ValueEventRegistration.java:75)
    at com.google.firebase.database.core.view.DataEvent.fire(DataEvent.java:63)
    at com.google.firebase.database.core.view.EventRaiser$1.run(EventRaiser.java:55)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7839)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)

I try to find out the problem and fix it but I don't know how to fix. Can anyone please help me solve this issue. below is code of Userfragment.java :

 private void readUsers() {

    FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
    DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users");

    reference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {



            if (sBar.getText().toString().equals("")) {

                mUsers.clear();
                for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                    User user = snapshot.getValue(User.class);

                    assert user != null;

                    assert firebaseUser != null;
                    if (!user.getId().equals(firebaseUser.getUid())) {
                        mUsers.add(user);
                    }
                }

                userAdapter = new UserAdapter(getContext(), mUsers, true);
                recyclerView.setAdapter(userAdapter);

            }


        }

        @Override
        public void onCancelled(@NonNull DatabaseError error) {

        }
    });
Frank van Puffelen
  • 565,676
  • 79
  • 828
  • 807
Chonha
  • 1
  • 1
  • Are you sure your user is authenticated? – Alex Mamo Aug 06 '22 at 11:28
  • Yes, the user was authenticated and has loged in before. Unfortunately yesterday, my app happen this error. I try setting up new user and found this user display in Authentication tab of firebase. however, app still crash when I start and show this error. – Chonha Aug 06 '22 at 13:59
  • With a `NullPointerException` the steps to troubleshoot are *always* the same. As the error message says, you're calling `equals` on `null`, so that's either `sBar.getText().toString().equals("")` or `user.getId().equals(firebaseUser.getUid())`. Depending on the exact line the stack trace points to, that means either `sBar.getText()` or `user.getId()` is `null`. – Frank van Puffelen Aug 06 '22 at 14:36

0 Answers0