【发布时间】:2015-06-27 14:43:21
【问题描述】:
我对使用 Retrofit 的 Android 中的变量范围有疑问:
在 MainActivity 中,我使用 Retrofit 将 JSON 回复获取到 POJO (ApiResponse),创建一个 extendedJourney 对象并将其添加到 extendedJourneyArrayList:
public class MainActivity extends Activity {
private ArrayList<ExtendedJourney> extendedJourneyArrayList = new ArrayList<>();
...
getAPIReply(...){
service.getInfo(..., new getCallback());
...}
private class getCallback implements Callback<ApiResponse> {
public void success(ApiResponse apiResponse, Response response) {
try {
consumeApiData(apiResponse);
}
...
}
}
private void consumeApiData(ApiResponse apiResponse){
ExtendedJourney extendedJourney = new ExtendedJourney(apiResponse, params);
extendedJourneyArrayList.add(extendedJourney);
}
public void getData(View view){
getAPIReply(...);
//Do stuff with the extendedJourneyArrayList
}
consumeApiData() 内部一切正常,即从 apiResponse 和其他参数正确创建了 extendedJourney 对象,并且用新的 extendedJourney 正确更新了 extendedJourneyArrayList。
但是,在 getData(View view) 中,extendedJourneyArrayList 是空的。
如何解决?谢谢:D
【问题讨论】:
标签: java android callback retrofit