Вот ошибка
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String door.one.marketplace.Model.Users.getPhone()' on a null object reference
at door.one.marketplace.SettingActivity.userInfodisplay(SettingActivity.java:99)
at door.one.marketplace.SettingActivity.onCreate(SettingActivity.java:61)
Проблемный метод
private void userInfodisplay(EditText edit_phone_set, EditText edit_adress_set, EditText edit_name, CircleImageView izmenit_photo) {
String phone=Prevalent.currentOnlineUser.getPhone();
DatabaseReference UserRef=FirebaseDatabase.getInstance().getReference().child("Users").child(phone);
UserRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if (snapshot.exists()){
if (snapshot.child("image").exists()){
String image=snapshot.child("image").getValue().toString();
String name=snapshot.child("Username").getValue().toString();
String adress=snapshot.child("Adress").getValue().toString();
String phonenumber=snapshot.child("Pnomenumder").getValue().toString();
Picasso.get().load(image).into(izmenit_photo);
edit_phone_set.setText(phonenumber);
edit_adress_set.setText(adress);
edit_name.setText(name);
}
if (snapshot.child("address").exists()){
String name=snapshot.child("Username").getValue().toString();
String adress=snapshot.child("Adress").getValue().toString();
String phonenumber=snapshot.child("Pnomenumder").getValue().toString();
edit_phone_set.setText(phonenumber);
edit_adress_set.setText(adress);
edit_name.setText(name);
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
Проблемная строчка в методе сверху
String phone=Prevalent.currentOnlineUser.getPhone();
Так же проблемный начало этого метода
userInfodisplay(edit_phone_set ,edit_adress_set, edit_name,izmenit_photo);
Класс Prevalent (где инициализацирован currentOnlineUser)
public class Prevalent {
public static Users currentOnlineUser;
public static final String UserPhoneKey="UserPhone";
public static final String UserPasswordKey="UserPassword";
}
Так же класс Users (где инициализацированы стринги имени,фото, телефон и пароль)
public class Users {
private String name,phone,password,image;
public Users(){
}
public Users(String name, String phone, String password,String image) {
this.name = name;
this.phone = phone;
this.password = password;
this.image=image;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
Как это исправить? И почему оно нулевое если все инициализировано?