gpt4 book ai didi

java - 如何从 Glide onResourceReady 返回

转载 作者:行者123 更新时间:2023-12-02 09:02:16 24 4
gpt4 key购买 nike

我试图在 Glide onResourceReady 之后返回字符串 s[0],但 return 语句在 onResourceReady 方法之前执行,所以现在我想从 Glide onResourceReady 返回一个字符串,但它不起作用。

如何让onResourceReady返回String?

请帮助我。

private String storeToLocalDisk(String urlS, final int id) {

final String[] s = new String[1];

Glide.with(getContext()).asBitmap().load(urlS).into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
s[0] = saveToInternalStorage(resource,id);
return s[0]; // not working
}
});
// return s[0];
}

最佳答案

这个return s[0];不会因为第一 return s[0];这将执行然后您将从 Glide 获取数据.

我建议使用LiveData就像这样:

 //Create livedata variable 
MutableLiveData<String> liveData;

//then initialize this variable in oncreate or where you want just like this
liveData= new MutableLiveData<>();

//then set value to LiveData just like this
liveData.setValue("set you value");

//then Create observer for livedata. whenever data change in Livedata onChanged method will call
Observer<String> observer= new Observer<String>() {
@Override
public void onChanged(@Nullable String s) {
Log.e("dataChange",s);
}
};

设置此observerlivedata就像这样

  liveData.observe(this,observer):

现在终于setvaluelivedata就像这样

liveData.setValue("set you value"); 

我遇到了几乎同样的问题,这个东西对我有用。

关于java - 如何从 Glide onResourceReady 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60076393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com