I am building a simple message app, at the moment I would like to view the users image next to their text.
I am trying to get the users image from the firebase database.
However, whenever I try to getValue() of the an image the app crashes.
If I choose to replace imageURI with an image link, then I see it works with that link.
08-27 23:14:02.392 4817-4817/com.myproj.blogapp E/UncaughtException: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
                                                                         at com.myproj.blogapp.MessageAdapter$1.onDataChange(MessageAdapter.java:79)
                                                                         at com.google.android.gms.internal.to.zza(Unknown Source)
                                                                         at com.google.android.gms.internal.vj.zzHX(Unknown Source)
                                                                         at com.google.android.gms.internal.vp.run(Unknown Source)
                                                                         at android.os.Handler.handleCallback(Handler.java:739)
                                                                         at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                         at android.os.Looper.loop(Looper.java:145)
                                                                         at android.app.ActivityThread.main(ActivityThread.java:5938)
                                                                         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:1400)
@Override
public void onBindViewHolder(final MessageViewHolder viewHolder, final int index) {
    final Message c = messagesList.get(index);
    final String sender = c.getFrom();
    databaseReference = FirebaseDatabase.getInstance().getReference().child("Users").child(sender);
    databaseReference.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            imageUrl = dataSnapshot.child("image").getValue().toString(); //error on this line
            viewHolder.setUserimage(context,imageUrl);
            String name = dataSnapshot.child("name").getValue().toString();
            viewHolder.displayName.setText(name);
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    });
    viewHolder.messageText.setText(c.getMessage());
    viewHolder.time.setText(EpochtimeToDateAndTimeString(c.getTime()));
}
 
     
    