Я хотел бы получить первые данные в Arraylist, но мой код получает ошибку, что String img содержит нулевые данные. вот мой код:
private List<String> imagedUploaded = new ArrayList<>();
....
private void uploadImageFile(List<Uri> imgUrl) {
for (Uri uri : imgUrl) {
StorageReference fileToUpload = storageRef.child(productID).child(getFileName(uri));
fileToUpload.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
listImageSelectedAdapter.notifyDataSetChanged();
imagedUploaded.add(taskSnapshot.getDownloadUrl().toString()); // get image downloadurl
**defImg = imagedUploaded.get(0);**
productImage = product_Ref.child("product_image").child(productID);
productImage.setValue(imagedUploaded);
selectedImages.clear();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(getContext(), "Upload Image Failed", Toast.LENGTH_SHORT).show();
}
});
}
}
здесь, когда я хочу вызвать индексный результат
uploadProduct() {
product = product_Ref.child(path1).child(path2).child(path3).child(productID);
DataUploadProduct data = new DataUploadProduct();
data.setName(etProductName.getText().toString());
data.setPrice(etPrice.getText().toString());
**data.setDef_image(defImg);**
data.setWeight(etWeight.getText().toString());
data.setDescription(etDescription.getText().toString());
product.setValue(data);
}
в этом случае imagedUploaded содержит:
0 = http://www.url.com1
1 = http://www.url.com2
2 = http://www.url.com3
3 = http://www.url.com4
Я хочу получить данные только с индексом 0, как я могу это сделать?