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