android - E/RecyclerView: No adapter attached; skipping layout (Using FRAGMENTS) -
i modified code according answers found similar questions none of them worked. using tabfragments , recyclerviews. console displays error "e/recyclerview: no adapter attached; skipping layout" 4 times.
(when modifying gave me error "java.lang.nullpointerexception: attempt invoke virtual method 'void android.support.v7.widget.recyclerview.setlayoutmanager(android.support.v7.widget.recyclerview$layoutmanager)' on null object reference", maybe correlated).
adapter
public class ingredientadapter extends recyclerview.adapter<ingredientadapter.viewholder>{ public arraylist<ingredient> dataset = new arraylist<>(); public context ctx; public static class viewholder extends recyclerview.viewholder { public view view; public viewholder(view itemview) { super(itemview); view = itemview; } } public ingredientadapter(context ctx){ super(); this.ctx = ctx; } @override public ingredientadapter.viewholder oncreateviewholder(viewgroup parent, int viewtype) { view v = layoutinflater.from(parent.getcontext()).inflate(r.layout.ingredient_row, parent, false); viewholder vh = null; vh = new viewholder(v); return vh; } public void setdataset(arraylist<ingredient> dataset) { this.dataset.clear(); this.dataset = dataset; this.notifyitemrangeinserted(0, this.dataset.size() - 1); } @override public void onbindviewholder(ingredientadapter.viewholder holder, int position) { imageview image = (imageview) holder.view.findviewbyid(r.id.ingredient_image); image.setimagebitmap(dataset.get(position).getimage()); textview name = (textview)holder.view.findviewbyid(r.id.ingredient_name); name.settext(dataset.get(position).getname()); } @override public int getitemcount() { return dataset.size(); }
}
tabfragment
public class tabfragmentingredients extends fragment { @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { view rootview = inflater.inflate(r.layout.recyclerview_list, container, false); rootview.settag("recyclerviewfragment"); recyclerview recycler = (recyclerview) rootview.findviewbyid(r.id.recycler_view); final linearlayoutmanager layoutmanager = new linearlayoutmanager(this.getactivity()); layoutmanager.setorientation(linearlayoutmanager.vertical); recycler.setlayoutmanager(layoutmanager); arraylist ingredients = new arraylist<ingredient>(); ingredients.add(new ingredient("carrot", bitmapfactory.decoderesource(this.getcontext().getresources(),r.drawable.carrot))); system.out.println(ingredients.size()); ingredientadapter adapter = new ingredientadapter(this.getcontext()); adapter.setdataset(ingredients); recycler.setadapter(adapter); return inflater.inflate(r.layout.recyclerview_list, container, false); }
}
change return inflater.inflate(r.layout.recyclerview_list, container, false);
return rootview;
Comments
Post a Comment