2017-10-22 3 views
1

Ich versuche, die app zu erhalten, die in Benutzerprofilbild mit picasso signiert anzeigen, aber das Profilbild zeigt nicht die uri das ist erzeugt, indem die profile.getPhotoUrl() Methode zeigt sich aber, wenn ich versuche, dass die URL zu verwenden um das Bild anzuzeigen, wird es nicht angezeigt.
Ich habe einige Nachforschungen und fand heraus, dass der Grund, warum es nicht angezeigt wird, ist, weil es ein Contentprovider uri ist.
Wie kann ich das Profilbild angezeigt werden?So verwenden picasso Bild anzuzeigen von URI? Bild nicht angezeigt

Here ist, was die uri des Profils sein würde:

if (user != null) { 
    for (UserInfo profile : user.getProviderData()) { 
     // Id of the provider (ex: google.com) 
     String providerId = profile.getProviderId(); 

     // this displays the email for some reason 
     String uid = profile.getUid(); 

     //displays the name 
     String name = profile.getDisplayName(); 
     //doesnt even display the email for some reason 
     String email = profile.getEmail(); 
     //profile pic uri 
     Uri photoUrl = profile.getPhotoUrl(); 

     displayUser.setText(uid); 
     displayName.setText(name); 
     displayPhotoUrl.setText(photoUrl.toString()); 

     Picasso.with(getApplicationContext()) 
       .load(photoUrl) 
       .into(pic); 
    }; 
} 
+0

Dies wird weiterhin altes Bild durch neues Bild ersetzen. Sie verwenden jedes Mal dasselbe Bildimage. –

+1

Verwendung 'callback' die Fehler zu sehen, ob das Problem war mit' Picasso' – MHSFisher

Antwort

0
Picasso.with(getActivity()).load(uri).into(imageView); 

ODER

File f = new File(uri); 
Picasso.with(getActivity()).load(f).into(imageView); 
0

den Weg Raus aus Uri und ein File-Objekt mit dem erstellen.

File file=new File(uri.getPath()); 
Picasso.with(getActivity()).load(file).into(imageView);