Firebase NullPointerException Ошибка, хотя есть идентификатор пользователя - PullRequest
0 голосов
/ 27 февраля 2020
  intent = getIntent();
    final String userid = intent.getStringExtra("userid");

Я проверил и подтвердил, что идёт пользовательский идентификатор, но я не могу использовать этого ребенка, но до того, как через 2-3 дня у меня работал такой же код, с этого момента я ничего не изменил

У меня есть идентификатор пользователя из позиции адаптера, и я могу использовать его в этом упражнении и его работе, но в данной строке кода возникает ошибка

    reference = FirebaseDatabase.getInstance().getReference("Users").child(userid);

, которая не может pass java .lang.NullPointerException:

Невозможно передать значение NULL для аргумента pathString в child ()

Ошибка указана ниже:

2020-02-27 21:46:53.567 3248-3248/com.example.chat E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.chat, PID: 3248
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.chat/com.example.chat.MessageActivity}: java.lang.NullPointerException: Can't pass null for argument 'pathString' in child()
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:193)
    at android.app.ActivityThread.main(ActivityThread.java:6669)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
 Caused by: java.lang.NullPointerException: Can't pass null for argument 'pathString' in child()
    at com.google.firebase.database.DatabaseReference.child(com.google.firebase:firebase-database@@19.2.0:96)
    at com.example.chat.MessageActivity.onCreate(MessageActivity.java:175)
    at android.app.Activity.performCreate(Activity.java:7136)
    at android.app.Activity.performCreate(Activity.java:7127)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) 
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808) 
    at android.os.Handler.dispatchMessage(Handler.java:106) 
    at android.os.Looper.loop(Looper.java:193) 
    at android.app.ActivityThread.main(ActivityThread.java:6669) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 

Кодовая часть указана ниже

   fuser = FirebaseAuth.getInstance().getCurrentUser();
    reference = FirebaseDatabase.getInstance().getReference("Users").child(userid);

    reference.addValueEventListener(new ValueEventListener() {

        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            User user = dataSnapshot.getValue(User.class);
            username.setText(user.getUsername());
            Last_seen.setText(user.getStatus()); 
  }
        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...