如何更改此异常?
How do I change this exception?
我是 Android Studio 的新手。
我得到
java.lang.NullPointerException: Attempt to invoke virtual method
'java.lang.String
com.alpha1.appname.rider.model.firebase.User.getName()' on a null
object reference.
任何人都可以指出我正确的方向。我似乎无法解决其他类似问题的答案。
\这是产生空指针异常的行\
private void setDriverData() {
View navigationHeaderView = navigationView.getHeaderView(0);
TextView tvName = navigationHeaderView.findViewById(R.id.tvDriverName);
TextView tvStars = navigationHeaderView.findViewById(R.id.tvStars);
CircleImageView imageAvatar= navigationHeaderView.findViewById(R.id.imageAvatar);
tvName.setText(Common.currentUser.getName());
if(Common.currentUser.getRates() != null &&
!TextUtils.isEmpty(Common.currentUser.getRates()))
tvStars.setText(Common.currentUser.getRates());
if(Common.currentUser.getAvatarUrl()!=null &&
!TextUtils.isEmpty(Common.currentUser.getAvatarUrl()))
Picasso.get().load(Common.currentUser.getAvatarUrl()).into(imageAvatar);
这是有问题的行:
tvName.setText(Common.currentUser.getName());
错误消息告诉您无法调用 null
的 getName
。这意味着 Common.currentUser
是 null
。 null
表示它未定义。引用不存在的数据成员或调用方法将产生此错误。您可以通过在该行执行之前正确初始化 Common.currentUser
来解决此问题,或者如果未定义则将其设为默认值,例如:
tvName.setText((Common.currentUser == null) ? "" : Common.currentUser.getName());
我是 Android Studio 的新手。
我得到
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.alpha1.appname.rider.model.firebase.User.getName()' on a null object reference.
任何人都可以指出我正确的方向。我似乎无法解决其他类似问题的答案。
\这是产生空指针异常的行\
private void setDriverData() {
View navigationHeaderView = navigationView.getHeaderView(0);
TextView tvName = navigationHeaderView.findViewById(R.id.tvDriverName);
TextView tvStars = navigationHeaderView.findViewById(R.id.tvStars);
CircleImageView imageAvatar= navigationHeaderView.findViewById(R.id.imageAvatar);
tvName.setText(Common.currentUser.getName());
if(Common.currentUser.getRates() != null &&
!TextUtils.isEmpty(Common.currentUser.getRates()))
tvStars.setText(Common.currentUser.getRates());
if(Common.currentUser.getAvatarUrl()!=null &&
!TextUtils.isEmpty(Common.currentUser.getAvatarUrl()))
Picasso.get().load(Common.currentUser.getAvatarUrl()).into(imageAvatar);
这是有问题的行:
tvName.setText(Common.currentUser.getName());
错误消息告诉您无法调用 null
的 getName
。这意味着 Common.currentUser
是 null
。 null
表示它未定义。引用不存在的数据成员或调用方法将产生此错误。您可以通过在该行执行之前正确初始化 Common.currentUser
来解决此问题,或者如果未定义则将其设为默认值,例如:
tvName.setText((Common.currentUser == null) ? "" : Common.currentUser.getName());