recyclerview llenar firebaserecycleradapter con android firebase android-recyclerview android-viewholder

android - llenar - Qué causa esta excepción java.lang.RuntimeException: java.lang.NoSuchMethodException:<init>



llenar un recyclerview con firebase (1)

Lo más probable es que su subclase de ViewHolder personalizada sea:

  • falta un constructor public MyViewHolder(View itemView) {... } O
  • la clase se define dentro de otra clase, en cuyo caso debe marcarla como public static class MyViewHolder estática public static class MyViewHolder .

Tengo un problema con mi proyecto de firebase . Seguí los pasos de la documentación de firebase GitHub, pero obtuve esta excepción

java.lang.RuntimeException: java.lang.NoSuchMethodException: <init> [class android.view.View]

esta es una clase ViewHolder que no es una clase interna.

public class ProductViewHolder extends RecyclerView.ViewHolder{ public View mView; public ImageView img; public TextView title; public TextView price; public RatingBar stars; ProductViewHolder(View itemView) { super(itemView); mView = itemView; img = (ImageView) itemView.findViewById(R.id.productImg); title = (TextView) itemView.findViewById(R.id.txtTitle); price = (TextView) itemView.findViewById(R.id.txtPrice); stars = (RatingBar) itemView.findViewById(R.id.ratingBar); } }

y este es el código relacionado con Firebase

@Override protected void onStart() { super.onStart(); // Recycler adapter FirebaseRecyclerAdapter<Product, ProductViewHolder> adapter = new FirebaseRecyclerAdapter<Product, ProductViewHolder>( Product.class, R.layout.product_list_item, ProductViewHolder.class, firebaseRef.child("product")) { @Override protected void populateViewHolder(ProductViewHolder productViewHolder, Product product, int i) { Picasso.with(ShopsApp.getLyShopsAppContext()) .load(product.getImgUrl()) .placeholder(R.drawable.none) .into(productViewHolder.img); productViewHolder.title.setText(product.getTitle()); productViewHolder.price.setText(product.getPrice()); productViewHolder.stars.setRating(4.0f); } }; recyclerView1.setAdapter(adapter);

Estoy usando firebaseRecyclerView para completar el modelo de datos, y la clase viewHolder no es clase interna de mi actividad

Nota: la excepción se produce cuando se inicia la actividad que contiene el recyclerView .