Android 为什么我不能在我的recyclerview适配器构造函数中提供当前类引用来代替我已经实现的接口?

Android 为什么我不能在我的recyclerview适配器构造函数中提供当前类引用来代替我已经实现的接口?,android,android-fragments,android-recyclerview,android-volley,android-adapter,Android,Android Fragments,Android Recyclerview,Android Volley,Android Adapter,我的问题很简单,我已经创建了一个接口,这样我就可以将它用作回调,或者基本上用于我的recyclerview适配器项的onclick。假设我的适配器构造函数类似于adapterContext上下文,ArrayList ArrayList,AdapterInterface接口现在我在片段类中实现了它,然后像adaptergetActivity,SomeArraylist,this,所以我能够成功地使用它,并将其用于适配器中的视图onclick,以及在接口的重写方法中成功地执行任务。但唯一的问题是这在

我的问题很简单,我已经创建了一个接口,这样我就可以将它用作回调,或者基本上用于我的recyclerview适配器项的onclick。假设我的适配器构造函数类似于adapterContext上下文,ArrayList ArrayList,AdapterInterface接口现在我在片段类中实现了它,然后像adaptergetActivity,SomeArraylist,this,所以我能够成功地使用它,并将其用于适配器中的视图onclick,以及在接口的重写方法中成功地执行任务。但唯一的问题是这在截击Onresponse中不起作用,当我在适配器构造函数中使用“this”作为第三个参数时,它给出了一个错误。因此,我被迫在那里使用匿名内部类,并再次重写相同的方法。但是我想知道,即使我已经实现了接口的方法,为什么它在volley的onresponse中的适配器构造函数中不起作用,而当我传递“this”时,它在其他任何地方都起作用。那我该怎么办呢?

让我们参考一下一个简单的截击请求:

StringRequest stringRequest = new StringRequest(Request.Method.GET, url, 
new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
        adapter = new MyAdapter(getActivity(), list, this);
    }
}, 
new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {}
});
是啊!你不能在那里用这个。用你的_片段。这个代替这个

原因:
当您提到这个内部onResponse方法时,它表示匿名内部截击类。

非常感谢兄弟我一时忘记了volley本身是使用匿名内部类实现的,onresponse只是该匿名内部类中被重写的方法。再次感谢。谢谢,伙计,我也可以接受你的答案,但我相信我只能接受一个答案。不过还是谢谢你。
adapter = new MyAdapter(getActivity(), list, MainFragment.this);