Почему приведенный ниже код не дает мне никакого вывода? - PullRequest
0 голосов
/ 28 мая 2019

Приведенный ниже код не показывает никаких ошибок и не выдает никаких выходных данных. На самом деле, это не происходит внутри onResponse(String response) метода, как кажется. URL, который я использую для выполнения кода PHP, работает нормально, и когда я загружаю его в браузер, он дает мне вывод JSON.

Я использовал общий метод, чтобы проверить, идет ли внутри упомянутой функции, поместив println внутрь onResponse(String response), но он никогда не выдавал никаких выводов в консоли.

public class FragmentE extends Fragment {

View view;
private static final String URL_PRODUCTS= "http://hostname.com/appapi.php";

//a list to store all the products
List<Product> productList;

//the recyclerview
RecyclerView recyclerView;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstance) {
    view = inflater.inflate(R.layout.fragment_e, container, false);
    recyclerView= (RecyclerView) view.findViewById(R.id.recylcerViewE);
//        recyclerView.setHasFixedSize(true);
    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
    productList = new ArrayList<>();

    StringRequest stringRequest = new StringRequest(Request.Method.GET, URL_PRODUCTS, new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
        try {
            //converting the string to json array object
            JSONArray array = new JSONArray(response);

            //traversing through all the object
            for (int i = 0; i < array.length(); i++) {

                //getting product object from json array
                JSONObject product = array.getJSONObject(i);

                //adding the product to product list
                productList.add(new Product(
                        product.getInt("id"),
                        product.getString("title"),
//                                        product.getString("shortdesc"),
                        //  product.getDouble("rating"),
                        product.getDouble("price"),
                        product.getString("image")
                ));
            }

            //creating adapter object and setting it to recyclerview
            ProductsAdapter adapter = new ProductsAdapter(getActivity(), productList);
            recyclerView.setAdapter(adapter);
        } catch (JSONException e) {
            e.printStackTrace();
            }
        }
    },
    new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {

        }
    });

    //adding our stringrequest to queue
    Volley.newRequestQueue(getActivity()).add(stringRequest);
    return view;
}
}
...