private void getPostImage(final ImageView imageView, String postid){
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("posts").child(postid);
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
Post post = dataSnapshot.getValue(Post.class);
Glide.with(mContext.getApplicationContext()).load(post.getPostimage()).into(imageView);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
我收到一個指向這一行的錯誤:
Glide.with(mContext.getApplicationContext()).load(post.getPostimage()).into(imageView);
這是錯誤:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.taimoorsikander.myapplication, PID: 20194
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.taimoorsikander.myapplication.Model.Post.getPostimage()' on a null object reference
at com.taimoorsikander.myapplication.Adapter.NotificationAdapter$3.onDataChange(NotificationAdapter.java:177)
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.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8633)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
我嘗試除錯應用程式以定位空值,但一切似乎都很好。此行中沒有空值。我該如何解決這個問題?
uj5u.com熱心網友回復:
NotificationAdapter 中 Post 的值為 null
請更換
Glide.with(mContext.getApplicationContext()).load(post.getPostimage()).into(imageView);
到
if(post != null) {
Glide.with(mContext.getApplicationContext()).load(post.getPostimage()).into(imageView);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/396671.html
標籤:安卓
