Обновить залп JSON Data Android Studio - PullRequest
0 голосов
/ 25 октября 2018

Я делаю, я сделал вид рециркулятора во фрагменте, чтобы получить пост из WordPress.

Это работает прекрасно!Но ... я не могу даже создать кнопку для обновления данных JSON?(конечная точка - это свайп для обновления).

Я обновляю данные json на веб-сайте. Единственный способ получить обновленную информацию - переустановить приложение.

Возможно, проблема с кешемили около того.

У кого-нибудь есть идеи?

Мне бы очень хотелось помочь, потому что я действительно застрял на этом.Уже видел, что есть много постов similair, но не смог найти ответ на этот конкретный

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_nieuws, container, false);
        fNieuwsRecyclerView = view.findViewById(R.id.recycler_view);
        fNieuwsRecyclerView.setHasFixedSize(true);
        fNieuwsRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));


        parseJSON();
        Button myButton = view.findViewById(R.id.button_1);
        myButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                parseJSON();
            }
        });
        return view;
    }

    private void test () {
        parseJSON();
    }
    private void parseJSON() {
        String url = "hiddensry<3";
        fNieuwsList = new ArrayList<>();
        fNieuwsQueue = Volley.newRequestQueue(getActivity());


        JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, null,
                new Response.Listener<JSONObject>() {
                    public String nieuwsImageUrl;
                    public ArrayList<String> nieuwsCategories;

                    @Override
                    public void onResponse(JSONObject response) {
                        try {
                            JSONArray jsonArray = response.getJSONArray("posts");

                            for (int i = 0; i < jsonArray.length(); i++) {
                                nieuwsCategories = new ArrayList<>();
                                JSONObject hit = jsonArray.getJSONObject(i);
                                JSONArray attachArray = hit.getJSONArray("attachments");
                                JSONArray catArray = hit.getJSONArray("categories");
                                Log.d("KEY", "Cat List:" + catArray.toString());
                                for (int a = 0; a < attachArray.length(); a++) {
                                    JSONObject attach = attachArray.getJSONObject(a);
                                    nieuwsImageUrl = attach.getString("url");
                                }
                                for (int b = 0; b < catArray.length(); b++ ) {
                                    JSONObject cat = catArray.getJSONObject(b);
                                    nieuwsCategories.add(cat.getString("title"));
                                    Log.d("KEY", "Added String:" + cat.getString("title"));
                                }

                                String nieuwsHeading = hit.getString("title");
                                String nieuwsExcerpt = hit.getString("excerpt");
                                String nieuwsContent = hit.getString("content");
                                String nieuwsDate = hit.getString("date");
                                nieuwsExcerpt = html2text(nieuwsExcerpt);


                                fNieuwsList.add(new NieuwsItem(nieuwsImageUrl, nieuwsHeading, nieuwsExcerpt,nieuwsContent,nieuwsDate,nieuwsCategories));
                            }

                            fNieuwsAdapter = new NieuwsAdapter(getActivity(), fNieuwsList);
                            fNieuwsAdapter.setOnItemClickListener(NieuwsFragment.this);
                            fNieuwsRecyclerView.setAdapter(fNieuwsAdapter);

                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                error.printStackTrace();
            }
        });

        fNieuwsQueue.add(request);
    }
...