Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法将值放入数组列表中_Java_Android_Android Livedata_Android Json - Fatal编程技术网

Java 无法将值放入数组列表中

Java 无法将值放入数组列表中,java,android,android-livedata,android-json,Java,Android,Android Livedata,Android Json,我尝试在blograrepository类中的moviesArrayList中设置值。 但我最终还是找不到结果 我想修改这个示例,使ArrayList中的存储是movies。 所以这个例子是可行的,结果表明这个例子是可行的 json数据: [ { "albumId": 1, "id": 1, "title": "accusamus beatae ad facilis cum similique qui sunt", "u

我尝试在
blograrepository
类中的
movies
ArrayList中设置值。 但我最终还是找不到结果

我想修改这个示例,使ArrayList中的存储是movies。 所以这个例子是可行的,结果表明这个例子是可行的

json数据:

[
      {
        "albumId": 1,
        "id": 1,
        "title": "accusamus beatae ad facilis cum similique qui sunt",
        "url": "https://via.placeholder.com/600/92c952",
        "thumbnailUrl": "https://via.placeholder.com/150/92c952"
      },
      {
        "albumId": 1,
        "id": 2,
        "title": "reprehenderit est deserunt velit ipsam",
        "url": "https://via.placeholder.com/600/771796",
        "thumbnailUrl": "https://via.placeholder.com/150/771796"
      },
      {
        "albumId": 1,
        "id": 3,
        "title": "officia porro iure quia iusto qui ipsa ut modi",
        "url": "https://via.placeholder.com/600/24f355",
        "thumbnailUrl": "https://via.placeholder.com/150/24f355"
      }
]
代码:

//
公共类博客库{
私有ArrayList电影=新ArrayList();
私有MutableLiveData MutableLiveData=新的MutableLiveData();
私人申请;
公共博客存储库(应用程序){
这个应用程序=应用程序;
}
公共MutableLiveData getMutableLiveData(){
RestApiService=instance.getApiService();
Call Call=service.getPopularBlog();
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
List mBlogWrapper=response.body();

对于(int i=0;i请尝试此代码,抱歉我不在笔记本电脑旁…mybe您可以从中理解。我只是将响应对象切换为
列表
,因为您需要它

call.enqueue(new Callback<List<Blog2>>(){
                @Override
                public void onResponse(Call<List<Blog2>> call, Response<List<Blog2>> response) {
                    List<Blog2> mBlogWrapper = response.body();
                    for (int i=0; i<mBlogWrapper.size(); i++) {
                       movies.add(mBlogWrapper.get(i));
                        //Log.d("trace_movies : ",""+ movies);
                    }
                }
            });
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
List mBlogWrapper=response.body();

对于(int i=0;我猜您的基本url是错误的,json中的
data
"这是Array conatins data List mBlogWrapper,但我无法将数据放入movies Array您所做的是映射列表,但json不提供
数据
谢谢,但我想练习存储库,我必须在参数内添加。新回调在从响应中获得结果后,您只能生成
Blog2
对象。为什么?因为您r json数据不为Blogwrapper提供序列化。如果您想从响应中获取
List
,然后更改API jsonOky,我将为Blog2实现序列化,您能通过使用paramater为存储库查看一些代码吗?如果您想处理错误响应,然后在每个方法中创建
Blogwrapper
对象(onResponse,onFailure)然后将其设置为
blog2
数据,因此,如果出现onFailure,则可以将BlogWrapper设置为error response。这种情况下不需要列表。然后,您的可变LiveData类型应为
BlogWrapper
call.enqueue(new Callback<List<Blog2>>(){
                @Override
                public void onResponse(Call<List<Blog2>> call, Response<List<Blog2>> response) {
                    List<Blog2> mBlogWrapper = response.body();
                    for (int i=0; i<mBlogWrapper.size(); i++) {
                       movies.add(mBlogWrapper.get(i));
                        //Log.d("trace_movies : ",""+ movies);
                    }
                }
            });
public interface RestApiService {

  @GET("/photos")
  public Call<List<Blog2>> getPopularBlog();

}