誰かが私にこの(私にとって)奇妙なバグを理解させる手伝いができますか?私は何時間もそれを見てきましたが、まだそれを理解することはできません、私は同様にWeb上で何かを見つけることはできません。リストサイズはオブジェクトを追加した後に0を返します
retrofit2とOkHttp3を使用してGET API呼び出しを行っています。私は応答を取得どういうわけか後(成功している& &体は何であることを持っている含まれていない)と私は、リストのサイズが0
final List<Object> objectList = new ArrayList<>();
final AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(activity);
...
dialogBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
API someAPI = new API();
for (int i = 0; i < listWithIds.size(); i++) {
Call<Object> call = someAPI.getObject(listWithIds.get(i).getId());
final int finalI = i;
call.enqueue(new Callback<Object>() {
@Override
public void onResponse(Call<Object> call, Response<Object> response) {
if (response.isSuccessful()) {
objectList.add(response.body());
}
}
@Override
public void onFailure(Call<Object> call, Throwable t) {
}
});
}
}
});
コールバックが非同期です。キュー外またはコールバック内のリストサイズをチェックしていますか? – lubilis
'List'はサイズ0の場合にのみサイズ0を返します。したがって、' add'が呼び出されたかどうかを確認する必要があります。 –
'finalI'変数の目的は何ですか?なぜfor-loopを使用しないのですか? –