onResponse和onFailure都没有调用,然后数组越界导致崩溃的原因

因为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();这一句就是错误的语句,应当改为观察者模式

发表评论 / Comment

用心评论~