我想要使用Glide
显示Firebase存储中的图像列表
答案 0 :(得分:0)
你必须要小心你在匿名内部类中引用的内容。它是javascript等函数式语言中的一个重要问题,但我们有时也会在java中看到它。本质上是"这个"根据其背景而变化。所以你在哪里使用它"这个"它不引用Activity,它引用的OnSuccessListener不从Context继承,因此代码失败。
可能有很多方法可以解决这个问题。一个是穆罕默德建议MainActivity.this。另一个是故意定义一个变量来引用代码之前的上下文来添加监听器。
final Context context = getContext()
然后您可以在成功监听器中自由引用该上下文变量。
public void onSuccess(Uri uri){ Glide.with(上下文).load(URI)... }