私は改造応答リストを取得し、それをOnResponse関数の外で使用したいが、私はそれをやろうと試みた。私はいつもnullオブジェクトを取得している。 onResponse()は非同期で実行されるため は、ここに私のソースコードOnResponse機能の外でRetrofitレスポンスを使用するにはどうすればよいですか?
ApiInterface apiService = ApiClient.getClient().create(ApiInterface.class);
Call<ActivitiesResponse> call = apiService.getUserActivities(id);
call.enqueue(new Callback<ActivitiesResponse>() {
// If success
@Override
public void onResponse(Call<ActivitiesResponse>call, Response<ActivitiesResponse> response) {
list = response.body().getActivities();// I'm getting a not null response
}
// If failed
@Override
public void onFailure(Call<ActivitiesResponse>call, Throwable t) {
// Log error here since request failed
Log.e(TAG, t.toString());
}
});
//When I try to use the list here I'm getting a null object
あなたはonResponseで何をしたいのですか、 'Callback'が' Asynchrone'であるために 'NullPointException'が発生するので、' onResponse'はリクエストが終了したときに呼び出されます。 –
'onResponse'にデータを格納した後に、リストのサイズをチェックしようとすると、データがリストに格納されていないと思います。 – Anmol
@RaphaelTeyssandierしたがって、私の結果をOnResponse関数の外に出す可能性はないことを理解していますか? – Caroline