У меня есть функция, которая использует функции Пикассо, в этой функции мне нужно сохранить растровое изображение, полученное из Пикассо, чтобы сохранить его в переменную Drawable, а затем мне нужно вернуть это значение из функции
public Drawable[] getImages(String[][] data)
{
final Drawable[] images=new Drawable[1];
Target target=new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
images[0]=new BitmapDrawable(bitmap);
Toast.makeText(ReportesG.this, "Success", Toast.LENGTH_SHORT).show();
}
@Override
public void onBitmapFailed(Exception e, Drawable errorDrawable) {
Toast.makeText(ReportesG.this, "Failed", Toast.LENGTH_SHORT).show();
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
};
Picasso.Builder picassoBuilder=new Picasso.Builder(this);
picassoBuilder.indicatorsEnabled(true);
picassoBuilder.loggingEnabled(true);
Picasso picasso=picassoBuilder.build();
picasso.load("Url").into(target);
return images;
Проблема в том, что, поскольку он выполняет работу асинхронно, он сначала возвращает переменную Drawable, а затем, когда значение уже возвращается, он извлекает изображение, но это бесполезно, потому что мне нужно, чтобы оно возвращало значение сразу после изображение уже сохранено в переменной. Есть ли способ, которым я могу этого достичь?