FirebaseUser图像显示在ImageView上

4

我正在使用Android Studio开发,尝试从通过Google登录获取的FirebaseUser中显示图像到ImageView中。

private void setUserData(FirebaseUser user) {
    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    View cabecera = navigationView.getHeaderView(0);

    TextView titulo = (TextView) cabecera.findViewById(R.id.titulo_cabecera);
    titulo.setText(user.getDisplayName());

    TextView mail = (TextView) cabecera.findViewById(R.id.mail_cabecera);
    mail.setText(user.getEmail());

    ImageView foto = (ImageView) cabecera.findViewById(R.id.imagen_cabecera);
    foto.setImageURI(user.getPhotoUrl());

}

两个文本视图正常显示,但是当我到达图像视图时,出现以下错误:

E/BitmapFactory: 无法解码流:java.io.FileNotFoundException: https:/lh3.googleusercontent.com/-DWsn6ecRPm0/AAAAAAAAAAI/AAAAAAAAAGk/K9bdBjTZO0Y/s96-c/photo.jpg:打开失败:ENOENT(没有这样的文件或目录)

I/System.out: 在坏位图uri上解析Uri失败:https://lh3.googleusercontent.com/-DWsn6ecRPm0/AAAAAAAAAAI/AAAAAAAAAGk/K9bdBjTZO0Y/s96-c/photo.jpg

并且在图像视图上不显示任何内容,如果我用Chrome打开链接,它会显示图像,是否有我遗漏或做错的地方?

1个回答

4
从网络加载图像时,请尝试使用这个库:http://square.github.io/picasso/ 以下是一个示例:
Picasso.with(context).load(user.getPhotoUrl()).into(foto);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接