android - ActivityTranstition between two ViewPager's which both contains adapters -


i'm in desperat need help, hold on hats, because here go:

i have 2 activity's need transition between. each activity contains viewpager , each viewpager has pageradapter who's responsible creating fragment's can swip between.

in activity a have fragment contains 1 large imageview
in activity b have fragment containt recyclergridview, contains grid of imageview's.

so transition wanna archive:
activity a -> pageradapter -> fragment -> imageview
activity b -> pageradapter -> fragment -> recyclerview -> imageview

i know have use postponeentertransition(); , startpostponedentertransition(); can't figure out when call startpostponedentertransition(); timing right.

activity a start activity b

intent intent = new intent(this, pagesoverviewactivity.class); if (build.version_codes.lollipop <= build.version.sdk_int) {    final pagerecyclingimageview pagerecyclingimageview = ((pagedetailfragment) madapter.getfragment(mpager.getcurrentitem())).getpagerecyclingimageview();    activityoptions options = activityoptions.makescenetransitionanimation(pageactivity.this, pagerecyclingimageview, "page_number_" + getcurrentpagenumber());    startactivity(intent, options.tobundle()); } 

oncreate in activity b call postponetransition , create pageradapter called pagesoverviewfragmentadapter

protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     postponeentertransition();     ...     mfragmentadapter = new pagesoverviewfragmentadapter(getsupportfragmentmanager(), sections, getapplicationcontext());     mviewpager.setadapter(mfragmentadapter); 

in pagesoverviewfragmentadapter.getitem() create fragment's contains recyclerview

public class pagesoverviewfragmentadapter extends fragmentpageradapter {  @override public fragment getitem(int position) {     pagesoverviewfragment fragment = pagesoverviewfragment.newinstance();      return fragment; } 

in pagesoverviewfragment create adapter, pagesoverviewadapter recyclerview

public class pagesoverviewfragment extends fragment {  @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) {     view view = inflater.inflate(r.layout.pages_overview_fragment_layout, container, false);      mrecyclerview = (recyclerview) view.findviewbyid(r.id.pages_overview_recycler_view);     mrecyclerview.setlayoutmanager(new gridlayoutmanager(getactivity(), 2));     madapter = new pagesoverviewadapter(msection, getactivity());     mrecyclerview.setadapter(madapter);      return view; 

finally inside pagesoverviewadapter create imageview wanna make transition , call startpostponedentertransition when hit imageview wanna animate to.

@override public void onbindviewholder(final pagesoverviewviewholder holder, int position) {     int leftpageposition;         leftpageposition = msection.getfirstpage();     if (build.version_codes.lollipop <= build.version.sdk_int) {         holder.mleftcardview.settransitionname("page_number_" + leftpageposition);     }      glide.with(mcontext).load(getlocalpathtofile(leftpageposition)).placeholder(r.drawable.card_cover_placeholder).into(holder.mleftcardview);     holder.mleftcardview.settext(mcontext.getstring(r.string.page, leftpageposition));     if (leftpageposition == 4) { //hardcode position 4 test.         holder.mleftcardview.getviewtreeobserver().addonpredrawlistener(new viewtreeobserver.onpredrawlistener() {             @override             public boolean onpredraw() {                 mactivity.startpostponedentertransition();                 holder.mleftcardview.getviewtreeobserver().removeonpredrawlistener(this);                 return false;             }         });    } } 

wall of text should done now!
here video of looks in app:
http://www.youtubeslow.com/watch?v=crdrjdty43o
can see transition work's when press button, both imageview have correct transition name, when start activity b imageview goes wrong position in recyclerview.

if have idea how solve this, i'll find , hug you!