【发布时间】:2017-11-22 08:44:44
【问题描述】:
说实话,我需要对多个类使用 Retofit Callback。我不想在每个 UI 页面中用 onResponse 和 onFailour 方法编写回调接口。
所以我决定编写一个全局类来实现 Retrofit Callback 接口。
但我的问题是,我想让它成为通用的,因为有许多不同的 ResponseParser 类将使用这个全局类。
我尝试了下面的方法,但遇到了一个小问题。
public class WebAPIControler implements Callback<TResponse>{
@Override
public void onResponse(Call<TResponse> call, Response<TResponse> response) {
}
@Override
public void onFailure(Call<TResponse> call, Throwable t) {
}
}
这里的编译器找不到 TResponse 类。这里 TResponse 是一个通用类,我想在其中处理所有 ResponseParser 类之王。所以我将它命名为 T 或 TResponse。请帮助我如何处理这个问题。
【问题讨论】:
-
也许你的意思是
public class WebAPIController<TResponse> implements Callback<TResponse>,所以TResponse将是类WebAPIController的泛型类型参数 -
是的,就是这样。但是你能帮我一点关于如何使用它或者假设我想将 ABCResponseParser 传递给 WebAPIControler 类。我将如何在 T 或 TResponse 的帮助下处理这个问题。
标签: java android generics retrofit2