android - Recycler view not displaying -
i converted myconsumptionlist activity fragment.in activity, recycler view displaying in fragment, not displaying. while compiling there no error , app running properly. want display consumption list item in navigation bar. please me out.
code myconsumptionlist.java
public class myconsumptionlist extends fragment{ databasereference db; firebasehelper helper; recyclerviewadapter adapter; recyclerview rv; @nullable @override public view oncreateview(layoutinflater inflater, @nullable viewgroup container, @nullable bundle savedinstancestate) { return inflater.inflate(r.layout.activity_my_consumption_list,container,false); } @override public void onviewcreated(view view, @nullable bundle savedinstancestate) { super.onviewcreated(view, savedinstancestate); getactivity().settitle("consumption list"); startlist(); } @override public void onstart() { super.onstart(); startlist(); } @override public void onresume() { super.onresume(); startlist(); } public void startlist(){ //initialize rv rv=(recyclerview)getview().findviewbyid(r.id.recyclerview); rv.setlayoutmanager(new linearlayoutmanager(getactivity())); //initialize fb db= firebasedatabase.getinstance().getreference().child("my consumption"); helper=new firebasehelper(db); //adapter adapter=new recyclerviewadapter(getactivity(),helper.retrieve()); rv.setadapter(adapter); } code recycler view adapter.
public class recyclerviewadapter extends recyclerview.adapter<viewholder> { static string key_uid=null; protected context c; private arraylist<savedata>sd; firebasedatabase fb; public recyclerviewadapter(context c, arraylist<savedata> sd) { this.c = c; this.sd = sd; } @override public viewholder oncreateviewholder(viewgroup parent, int viewtype) { view v= layoutinflater.from(c).inflate(r.layout.recycler_view_row,parent,false); return new viewholder(v); } @override public void onbindviewholder(viewholder holder, final int position) { holder.itemnametxt.settext(sd.get(position).getname()); holder.brandnametxt.settext(sd.get(position).getbrand_name()); holder.caloriestxt.settext("calories: " + sd.get(position).getsave_calories()); holder.fattxt.settext("fat: " + sd.get(position).getsave_fat()); holder.servingtxt.settext(sd.get(position).getserving_size()); //db = firebasedatabase.getinstance().getreference(); //key_uid=sd.get(position).getname(); // holder.deletebutton.setonclicklistener(new view.onclicklistener() { // @override //public void onclick(view v) { //}); } @override public int getitemcount() { return this.sd.size(); } code firebase helper.java
public class firebasehelper { databasereference db; arraylist<savedata> sd=new arraylist<>(); //pass database reference public firebasehelper(databasereference db){ this.db=db; } //read hooking onto database operation callbacks public arraylist<savedata>retrieve(){ db.addchildeventlistener(new childeventlistener() { @override public void onchildadded(datasnapshot datasnapshot, string s) { savedata saves=datasnapshot.getvalue(savedata.class); sd.add(saves); } @override public void onchildchanged(datasnapshot datasnapshot, string s) { savedata saves=datasnapshot.getvalue(savedata.class); sd.add(saves); } @override public void onchildremoved(datasnapshot datasnapshot) { } @override public void onchildmoved(datasnapshot datasnapshot, string s) { } @override public void oncancelled(databaseerror databaseerror) { } }); return sd; } my content_navigationbar.xml
<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/content_main" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="nutritionapp.listview.bio.ayushsharma.nutritionapp. navigationbar" tools:showin="@layout/app_bar_navigationbar"> </relativelayout> my navigationbar.java
public class navigationbar extends appcompatactivity implements navigationview.onnavigationitemselectedlistener { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_navigationbar); toolbar toolbar = (toolbar) findviewbyid(r.id.toolbar); setsupportactionbar(toolbar); drawerlayout drawer = (drawerlayout) findviewbyid(r.id.drawer_layout); actionbardrawertoggle toggle = new actionbardrawertoggle( this, drawer, toolbar, r.string.navigation_drawer_open, r.string.navigation_drawer_close); drawer.setdrawerlistener(toggle); toggle.syncstate(); navigationview navigationview = (navigationview) findviewbyid(r.id.nav_view); navigationview.setnavigationitemselectedlistener(this); fragmenttransaction ft=getsupportfragmentmanager().begintransaction(); ft.replace(r.id.content_main, new mainactivity()); ft.commit(); } @override public void onbackpressed() { drawerlayout drawer = (drawerlayout) findviewbyid(r.id.drawer_layout); if (drawer.isdraweropen(gravitycompat.start)) { drawer.closedrawer(gravitycompat.start); } else { super.onbackpressed(); } } @override public boolean oncreateoptionsmenu(menu menu) { // inflate menu; adds items action bar if present. getmenuinflater().inflate(r.menu.navigationbar, menu); return true; } @override public boolean onoptionsitemselected(menuitem item) { // handle action bar item clicks here. action bar // automatically handle clicks on home/up button, long // specify parent activity in androidmanifest.xml. int id = item.getitemid(); //noinspection simplifiableifstatement if (id == r.id.action_settings) { return true; } return super.onoptionsitemselected(item); } @suppresswarnings("statementwithemptybody") @override public boolean onnavigationitemselected(menuitem item) { // handle navigation view item clicks here. int id = item.getitemid(); fragment frag=null; if (id == r.id.nav_home) { // handle input action frag=new mainactivity(); } else if (id == r.id.nav_consuptionlist) { frag=new myconsumptionlist(); } else if (id == r.id.nav_slideshow) { } else if (id == r.id.nav_share) { } else if (id == r.id.nav_send) { } if(frag != null){ fragmenttransaction ft=getsupportfragmentmanager().begintransaction(); ft.replace(r.id.content_main,frag); ft.commit(); } drawerlayout drawer = (drawerlayout) findviewbyid(r.id.drawer_layout); drawer.closedrawer(gravitycompat.start); return true; } consumptionlist.xml
<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="nutritionapp.listview.bio.ayushsharma.nutritionapp. myconsumptionlist"> <textview android:id="@+id/constitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="consumption list" android:layout_centerhorizontal="true" android:textsize="15sp" android:textstyle="bold" android:textcolor="#dc0d28"/> <android.support.v7.widget.recyclerview android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/recyclerview" android:layout_below="@+id/constitle" android:layout_margintop="10dp" > </android.support.v7.widget.recyclerview> </relativelayout>
where class viewholder in adapter. initialize
holder.itemnametxt holder.brandnametxt holder.caloriestxt
Comments
Post a Comment