gpt4 book ai didi

java - 如何通过改造从列表函数中调用 return 的 url

转载 作者:行者123 更新时间:2023-12-02 01:10:05 24 4
gpt4 key购买 nike

我尝试从通过改造获得的网址返回列表。它有效,我得到了数据,但它不会返回。

这是我的代码

public List<MovieResponse> loadCourses() {
ArrayList<MovieResponse> list = new ArrayList<>();

ApiServices apiService =
NetworkClient.getRetrofitClient().create(ApiServices.class);

Call<MovieResult> call = apiService.getMovies();
call.enqueue(new Callback<MovieResult>() {
@Override
public void onResponse(Call<MovieResult> call, Response<MovieResult> response) {
if (response.body() != null) {
ArrayList<MovieResponse> movies = new ArrayList<>();
movies = response.body().getResults();
Log.d("",""+movies);
list.addAll(movies);
Log.d("",""+list);
}
}

@Override
public void onFailure(Call<MovieResult> call, Throwable t) {
// Log error here since request failed
Log.e("error", t.toString());
}
});
return list;
}

当我打印 onResponse 内的列表时它有效并且有数据。但是当我返回它或尝试在 onResponse 之外打印列表时例如下面ArrayList<MovieResponse> list = new ArrayList<>();它不显示数据。

请帮忙看看到底出了什么问题。我真的很感激。

最佳答案

最简单的方法是定义您的 movies直接在 Activity 或 Fragment 内部列出(换句话说,类的字段成员)。

从异步方法返回数据不是一个好主意。更改 loadCourses 的返回类型方法void并实例化提交的 movies里面onResponse() .

public class SomeActivity extends AppCompatActivity {

private ArrayList<MovieResponse> movies = new ArrayList<>();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_some);
}

public void loadCourses() {
ApiServices apiService =
NetworkClient.getRetrofitClient().create(ApiServices.class);

Call<MovieResult> call = apiService.getMovies();
call.enqueue(new Callback<MovieResult>() {
@Override
public void onResponse(Call<MovieResult> call, Response<MovieResult> response) {
if (response.body() != null) {
movies = response.body().getResults();
...
}
}

@Override
public void onFailure(Call<MovieResult> call, Throwable t) {
...
}
});
}

}

关于java - 如何通过改造从列表函数中调用 return 的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59534588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com