Почему фото не отображается в ImageView
Устанавливаю путь к фото и имени через вспомогательные методы. Если в одном из них поле пустое, то я данные буду выкачивать не из room, а БД:
takeFireBaseUserInfo();
if (path.equals("") || nameAge.equals(""))
takeRoomUserInfo();
Вот сами методы:
private void takeRoomUserInfo() {
User user = userRoomDatabase.getUserDAO().getAllUsers().get(userRoomDatabase.getUserDAO().getAllUsers().size() - 1);
nameAge = user.getName() + " " + user.getBirthday();
path = user.getMainPhotoOnDevice();
Picasso.get().load(path).into(circleImageView);
nameAgeTextView.setText(nameAge);
}
private void takeFireBaseUserInfo() {
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
if (snapshot.getValue().toString().contains(currentUser.getEmail())) {
nameAge += (snapshot.child("name").getValue().toString());
nameAge += (snapshot.child("birthday").getValue().toString());
if (snapshot.child("mainPhoto").getValue() != null)
path += (snapshot.child("mainPhoto").getValue().toString());
else if (snapshot.child("mainPhotoOnDevice").getValue() != null)
path += (snapshot.child("mainPhotoOnDevice").getValue().toString());
break;
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {}
});
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
Picasso.get().load(path).into(circleImageView);
nameAgeTextView.setText(nameAge);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
Установка изображения в обоих случаях происходит одинаково. Разница в том, что в 1 методе путь берется из телефона, а во 2 с БД. Во втором члучаи изображение устанавливается с именем, а в 1 только имя, без фото. С чем это может быть связано?