RecyclerView: E / RecyclerView: адаптер не подключен;пропускающий макет - PullRequest
0 голосов
/ 07 ноября 2019

У меня проблема с моим видом переработчика. Прежде чем обновить build.gradle (приложение), все хорошо. Но после того, как я обновлюсь, в программе просмотра не появится результат. Когда я вижу logcat, он показывает ошибку, как показано ниже

  1. E / RecyclerView: адаптер не подключен;пропускающий макет
  2. E / eglCodecCommon: glUtilsParamSize: неизвестный параметр 0x000082da

Ниже приведен код моего адаптера

public class ProductsAdapter extends RecyclerView.Adapter<ProductsAdapter.ProductViewHolder> {

        private Context mCtx;
        private List<Product> productList;

        public ProductsAdapter(Context mCtx, List<Product> productList) {
            this.mCtx = mCtx;
            this.productList = productList;
        }

        @Override
        public ProductViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            LayoutInflater inflater = LayoutInflater.from(mCtx);
            View view = inflater.inflate(R.layout.product_list, null);
            return new ProductViewHolder(view);
        }

        @Override
        public void onBindViewHolder(ProductViewHolder holder, int position) {
            Product product = productList.get(position);

            holder.textViewTitle.setText(product.getTitle());
            holder.textViewShortDesc.setText(product.getShortdesc());
            holder.textViewRating.setText(String.valueOf(product.getRating()));
            holder.textViewPrice.setText(String.valueOf(product.getPrice()));
        }

        @Override
        public int getItemCount() {
            return productList.size();
        }

        class ProductViewHolder extends RecyclerView.ViewHolder {

            TextView textViewTitle, textViewShortDesc, textViewRating, textViewPrice;

            public ProductViewHolder(View itemView) {
                super(itemView);

                textViewTitle = itemView.findViewById(R.id.textViewTitle);
                textViewShortDesc = itemView.findViewById(R.id.textViewShortDesc);
                textViewRating = itemView.findViewById(R.id.textViewRating);
                textViewPrice = itemView.findViewById(R.id.textViewPrice);
            }
        }
    }

MainActivity.java

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //getting the recyclerview from xml
    recyclerView = findViewById(R.id.recylcerView);
    recyclerView.addItemDecoration(new DividerItemDecoration(recyclerView.getContext(), DividerItemDecoration.VERTICAL));
    recyclerView.setHasFixedSize(true);
    recyclerView.setLayoutManager(new LinearLayoutManager(this));

    productList = new ArrayList<>();

    loadProducts();
}

private void loadProducts() {
    StringRequest stringRequest = new StringRequest(Request.Method.GET, URL_PRODUCTS,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    try {
                        JSONArray array = new JSONArray(response);

                        for (int i = 0; i < array.length(); i++) {

                            JSONObject product = array.getJSONObject(i);

                            productList.add(new Product(
                                    product.getInt("id"),
                                    product.getString("title"),
                                    product.getString("shortdesc"),
                                    product.getDouble("rating"),
                                    product.getDouble("price")
                            ));
                        }

                        ProductsAdapter adapter = new ProductsAdapter(MainActivity.this, productList);
                        recyclerView.setAdapter(adapter);
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {

                }
            });

    Volley.newRequestQueue(this).add(stringRequest);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...