ProductRef.child(productRandomKey).updateChildren(productMap)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()){
downloadImageUrl = task.getResult().toString(); //it is the problem
Intent intent = new Intent(AdminAddNewProductActivity.this, AdminCategoryActivity.class);
startActivity(intent);
loadingBar.dismiss();
Toast.makeText(AdminAddNewProductActivity.this, "Product is added successfully...", Toast.LENGTH_SHORT).show();
}
else{
loadingBar.dismiss();
String message = task.getException().toString();
Toast.makeText(AdminAddNewProductActivity.this, "Error: "+message, Toast.LENGTH_SHORT).show();
}
}
});
最终StorageReference filePath = ProductImageRef.child(ImageUri.getLastPathSegment() + ProductRandomKey + ".jpg");
final UploadTask uploadTask = filePath.putFile(ImageUri);
downloadImageUrl = filePath.getDownloadUrl().toString(); 返回 filePath.getDownloadUrl();
我以前用过这些行。当我尝试上传图片时,应用程序崩溃了。
最佳答案
您正在对 null
对象调用 toString();
。所以你可以添加一些条件来检查它。更改此:
downloadImageUrl = task.getResult().toString();
至
Result result = task.getResult();
if (result == null) {
// TODO - handle null object here (e.g. show some placeholder)
} else {
downloadImageUrl = result.toString();
}
关于java - 空对象引用上的“java.lang.String java.lang.Object.toString()”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61136899/