作者:继续不插电的名单 | 来源:互联网 | 2023-02-12 23:38
我正在从我的firebase数据库中检索图像并将其设置在图像视图中.我使用以下代码.
mStorageRef.child("Book_Photos/"+firstBook.bid).getDownloadUrl().addOnSuccessListener(new OnSuccessListener() {
@Override
public void onSuccess(Uri uri) {
Toast.makeText(getApplicationContext(), "GET IMAGE SUCCESSFUL",Toast.LENGTH_LONG).show();
if(uri==null){
Toast.makeText(getApplicationContext(), "URI IS NULL",Toast.LENGTH_LONG).show();
}
try {
ImageView image2;
image2=(ImageView)findViewById(R.id.imageView);
image2.setImageURI(null);
image2.setImageURI(uri);
}
catch (Exception e){
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
Toast.makeText(getApplicationContext(), "GET IMAGE FAILED",Toast.LENGTH_LONG).show();
// Handle any errors
}
});
我正在检索的图像没有被设置."GET IMAGE SUCCESSFUL"吐司的作品."URI IS NULL"toast不起作用.命令image2.setImageURI(null)有效.
只是image2.setImageURI(uri)不起作用.
1> Rosário Pere..:
您无法将图像从Internet直接加载到ImageView.但你可以使用像Glide这样的库来做到这一点.要将Glide添加到您的应用,您需要将此行添加到您的dependecies:
implementation 'com.github.bumptech.glide:glide:4.8.0'
并加载您的图像:
Glide
.with(getContext())
.load(uri) // the uri you got from Firebase
.centerCrop()
.into(image2); //Your imageView variable