gpt4 book ai didi

java.lang.NullPointerException : Attempt to invoke virtual method 'java.lang.String com.example.ghifa.mrad.Model.User.getImageurl()'

转载 作者:行者123 更新时间:2023-12-02 10:34:20 24 4
gpt4 key购买 nike

我想在 Android Studio 上的 fragment 上显示用户信息。当我完成代码时,没有错误。但是,当我在设备上运行应用程序时,当我转到帐户 fragment 时,应用程序停止工作。当我检查日志猫时,它显示:

java.lang.NullPointerException:尝试调用虚拟方法“java.lang.String com.example.ghifa.mrad.Model.User.getImageurl()”

我不知道我应该解决什么问题。有人能帮我吗?这是学校任务。

这是我的 logcat 错误

11-20 17:46:19.829 14051-14051/com.example.ghifa.mrad E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ghifa.mrad, PID: 14051
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.example.ghifa.mrad.Model.User.getImageurl()' on a null object reference
at com.example.ghifa.mrad.AkunFrg$2.onDataChange(AkunFrg.java:107)
at com.google.firebase.database.core.ValueEventRegistration.fireEvent(com.google.firebase:firebase-database@@16.0.4:75)
at com.google.firebase.database.core.view.DataEvent.fire(com.google.firebase:firebase-database@@16.0.4:63)
at com.google.firebase.database.core.view.EventRaiser$1.run(com.google.firebase:firebase-database@@16.0.4:55)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:160)
at android.app.ActivityThread.main(ActivityThread.java:5541)
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:964)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:759)

这是我的 Java

ImageView photo;
ImageView back;

TextView topNama;
TextView topEmail;
TextView mSaldo;
TextView mUsername;
TextView mNama;
TextView mEmail;
TextView mHP;
TextView mAlamat;

Button toEdit;


Uri uriProfileimage;

FirebaseUser firebaseUser;
String profileid;

public AkunFrg() {
// Required empty public constructor
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_akun_frg, container, false);

firebaseUser = FirebaseAuth.getInstance().getCurrentUser();

SharedPreferences prefs = getContext().getSharedPreferences("PREFS", Context.MODE_PRIVATE);
profileid = prefs.getString("profileid", "none");

photo = view.findViewById(R.id.foto);
topNama = view.findViewById(R.id.ac_top_nama);
topEmail = view.findViewById(R.id.ac_top_email);
mSaldo = view.findViewById(R.id.saldo_akun);
mUsername = view.findViewById(R.id.ac_username);
mNama = view.findViewById(R.id.ac_nama);
mEmail = view.findViewById(R.id.ac_email);
mHP = view.findViewById(R.id.ac_hp);
mAlamat = view.findViewById(R.id.ac_alamat);
toEdit = view.findViewById(R.id.to_edit);

userinfo();

if(profileid.equals(firebaseUser.getUid()))
{
toEdit.setText("Edit Profil");
}

toEdit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

}
});

return view;
}

private void userinfo()
{
DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Users").child(profileid);
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

if(firebaseUser != null)
{
User user = dataSnapshot.getValue(User.class);

Glide.with(getContext()).load(user.getImageurl()).into(photo);
topNama.setText(user.getNama());
mUsername.setText(user.getUsername());
mSaldo.setText(user.getSaldo());
mNama.setText(user.getNama());
mHP.setText(user.getNo_hp());
mAlamat.setText(user.getAlamat());
}

}

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

}
});
}

}

最佳答案

写这篇文章之前

Glide.with(getContext()).load(user.getImageurl()).into(photo);

确保检查该值是否存在

像这样

if(user.getImageurl() != null){
Glide.with(getContext()).load(user.getImageurl()).into(photo);
}

或者将代码放入 try/catch 语句中,如下所示

try{
Glide.with(getContext()).load(user.getImageurl()).into(photo);
}catch(NullPointerException e){
Log.e(TAG, e.toString())
}

希望对你有帮助

关于java.lang.NullPointerException : Attempt to invoke virtual method 'java.lang.String com.example.ghifa.mrad.Model.User.getImageurl()' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53396251/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com