如何在

时间:2020-03-13 19:00:28

标签: java

如何返回ok http中的最高完成值以在回收视图中使用它 请注意,当我使用log.d在ok http方法中检查其值时,该值不为null,但是当我尝试将其显示在该方法中时,其值为null,因此如何解决此问题以及如何返回Array in避免 请注意,我是零碎工作

package com.example.animekingdom.ui.gallery;

import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.example.animekingdom.MyAdapter;
import com.example.animekingdom.R;
import com.example.animekingdom.ui.Anime;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;

import org.jetbrains.annotations.NotNull;
import org.json.JSONArray;

import java.io.IOException;
import java.util.ArrayList;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public class GalleryFragment extends Fragment {
    private RecyclerView recyclerView;
    private RecyclerView.Adapter TopCompleted;
    private GalleryViewModel galleryViewModel;
    private RecyclerView.LayoutManager layoutManager;
    private ArrayList<Anime> Topcompleted = new ArrayList<>();
    private ArrayList<Anime>ss=new ArrayList<>();


    public View onCreateView(@NonNull LayoutInflater inflater,
                             ViewGroup container, Bundle savedInstanceState) {
        View root = inflater.inflate(R.layout.fragment_gallery, container, false);

        int i=1;
        final String url = "https://api.jikan.moe/v3/top/anime/"+i+"/airing";

        OkHttpClient okHttpClient=new OkHttpClient();
        final Request request = new Request.Builder()
                .url(url)
                .build();
            okHttpClient.newCall(request).enqueue(new Callback() {
                @Override
                public void onFailure(@NotNull Call call, @NotNull IOException e) {

                }

                @Override
                public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
                    JsonArray features=((JsonObject) JsonParser.parseString(response.body().string())).getAsJsonArray("top");
                    Log.d("TRYYY", String.valueOf(features.size()));
                    for (int i=0;features.size()>i;i++){
                        JsonObject New=(JsonObject) features.get(i);
                        String a=new Gson().toJson(New);
                        Topcompleted.add(new Gson().fromJson(New,Anime.class));
                    }
               }
            });
        Log.d("Tag" ,new Gson().toJson(Topcompleted.size()));
        recyclerView = root.findViewById(R.id.TopCompletedAnime);
        recyclerView.setHasFixedSize(true);
        layoutManager = new LinearLayoutManager(getActivity());
        recyclerView.setLayoutManager(new GridLayoutManager(getActivity(),3));
        TopCompleted = new MyAdapter(Topcompleted, GalleryFragment.this);
        recyclerView.setAdapter(TopCompleted);

        return root;

    }

}

0 个答案:

没有答案
相关问题