我遇到问题,使用RecyclerView,带有自定义Adapter类的Retrofit,得到:
Change 2nd parameter of method 'VideoRecyclerAdapter' from 'Context' to 'Callback<ArrayList<VideoPojo>>'
Adapter.java:
public VideoRecyclerAdapter(ArrayList<VideoPojo> personList, Context context) {
mPersonList = personList;
mPref = context.getSharedPreferences("person", Context.MODE_PRIVATE);
mEditor = mPref.edit();
}
Activity.java:
videoAPI.getData(strJSON, new Callback<ArrayList<VideoPojo>>() {
@Override
public void success(ArrayList<VideoPojo> videoPojoList, Response response) {
try {
videoList = videoPojoList;
videoAdapter = new VideoRecyclerAdapter(videoList, this);
recyclerView.setAdapter(videoAdapter);
} catch (Exception e) {
}
}
});
API.java:
public interface VideoAPI {
@GET("/list/{name}")
void getData(@Path("name") String name, Callback<ArrayList<VideoPojo>> response);
}
只需更改此行
videoAdapter = new VideoRecyclerAdapter(videoList, this);
至
videoAdapter = new VideoRecyclerAdapter(videoList, YourActivity.this);
在内部接口下,它称为Callback<ArrayList<VideoPojo>>
。您需要Application
或Activity
上下文。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句