因为onResponse和onFailure都是回调函数需要在等待post请求发送并收到回执之后内部类中才会有数据,所有外部使用回执之后的数据必须使用观察者模式,否则在拿到回执之前数据就会是空值,程序执行到这必然产生崩溃。
错误代码示例:
call.enqueue(new Callback<EditResult>() {
@Override
public void onResponse(Call<EditResult> call, Response<EditResult> response) {
Log.d("asdasdasd",response.toString());
editResult[0] = response.body();
}
@Override
public void onFailure(Call<EditResult> call, Throwable t) {
}
});
editResult[0] = response.body();这一句就是错误的语句,应当改为观察者模式
版权声明:《 onResponse和onFailure都没有调用,然后数组越界导致崩溃的原因 》为admin原创文章,转载请注明出处!
最后编辑:2023-2-10 13:02:07