android - How to sort parent items in chronological order from first to oldest like instagram Firebase -
hello stackoverflow have problem ordering items have inside "post" "parent" need items inside parent id generated push method ordered in chronological order
try method: .orderbykey (), read documentation , tells me use method not work
this database example in photo, explained need order my database photo
these methods , references use:
the adapter method:
private void setupadapter() { mpostadapter = new firebaserecycleradapter<post, postholder>( post.class, r.layout.row_post, postholder.class, firebaseutils.getpostref().orderbykey() ) { @override protected void populateviewholder(final postholder viewholder, final post model, int position) { post mpost = new post(); viewholder.setnumcomments(string.valueof(model.getnumcomments())); viewholder.setnumlikes(string.valueof(model.getnumlikes())); viewholder.setnumdislikes(string.valueof(model.getnumdislikes())); viewholder.settime(dateutils.getrelativetimespanstring(model.gettimecreated())); viewholder.postownerusernametextview.settext(model.getusername()); if(viewholder.postownerusernametextview == null){ viewholder.postownerusernametextview.settext("anonymous"); } viewholder.setposttext(model.getposttext()); final storagereference storagereference = firebasestorage.getinstance() .getreference(model.getpostimageurl()); glide.with(getactivity()) .using(new firebaseimageloader()) .load(storagereference).into(viewholder.postdisplayimageview); ... remainder of code i tried
mpostadapter = new firebaserecycleradapter<post, postholder>( post.class, r.layout.row_post, postholder.class, firebaseutils.getpostref().getparent().orderbykey but doing not receive data rendered in adapter in populate viewholder
the utils:
public static databasereference getpostref() { return firebasedatabase.getinstance() .getreference("posts"); } public static query getpostquery() { return getpostref().orderbychild("timecreated"); } public static databasereference getmypostref() { return firebasedatabase.getinstance().getreference("myposts") .child(getcurrentuser().getemail().replace(".", ","));
find solution, difficult ironic easy
set linearlayoutmanager
mpostrecyclerview = (recyclerview) mrootview.findviewbyid(r.id.recyclerview_post); linearlayoutmanager linearlayoutmanager = new linearlayoutmanager(getcontext()); linearlayoutmanager.setreverselayout(true); linearlayoutmanager.setstackfromend(true); mpostrecyclerview.setlayoutmanager(linearlayoutmanager); setupadapter(); mpostrecyclerview.setadapter(mpostadapter); this all
Comments
Post a Comment