改造自定义回调和未经检查的分配

Retrofit Custom callback and unchecked assignments

我正在尝试创建自己的改装回调处理程序,因为我想在调用完成后隐藏加载屏幕,而不希望重复调用。使用我的自定义 RetrofitCallback 而不是 retrofit2.Callback 时,我收到未经检查的分配警告。修复此警告的正确方法是什么?

public abstract class RetrofitCallback<T> implements Callback {
    private BaseActivity mContext;

    public RetrofitCallback(Context context) {
        mContext = (BaseActivity) context;
    }

    @Override
    public void onResponse(Call call, Response response) {
        mContext.hideLoading();
        onSuccess(response);
    }

    @Override
    public void onFailure(Call call, Throwable t) {
        mContext.hideLoading();
    }

    public abstract void onSuccess(@NonNull Response<T> response);
}

正在通话

service.getSignupCode(request).enqueue(new RetrofitCallback<SignupResponse>(this) {        
    @Override
    public void onSuccess(@NonNull Response<SignupResponse> response) {

    }
});

你能试试下面的代码吗?我能弄清楚的一个错误是实施 Callback 而不是 Callback<T>

public abstract class RetrofitCallback<T> implements Callback<T> {
private BaseActivity mContext;

public RetrofitCallback(Context context) {
    mContext = (BaseActivity) context;
}

@Override
public void onResponse(Call call, Response response) {
    mContext.hideLoading();
    onSuccess(response);
}

@Override
public void onFailure(Call call, Throwable t) {
    mContext.hideLoading();
}

public abstract void onSuccess(@NonNull Response<T> response);

}