2016-07-26 19 views
5

Ich habe drei Fragmente in einem ViewPager in einer Aktivität, möchte ich gemeinsam genutzten Element Übergang von einem der Fragmente zu einer anderen Aktivität zu erreichen. Der Übergang erfolgt von einer Recycler-Ansicht aus, die sich innerhalb eines Fragments befindet, das sich in einem Viewpager befindet, der sich innerhalb eines Viewpagers innerhalb einer Activity-> ViewPager-> Fragment-> Recyclerview - befindet Gemeinsamer Elementübergang von einem Fragment zu einem anderen und eine Aktivität zu einem anderen. Es gibt keine Inhalte über Übergang von Fragment zu AktivitätWie Übergang eines freigegebenen Elements von einem Fragment zu einer Aktivität

holder.poster.setTransitionName("posterX"); 
      ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation((Activity) con,holder.poster,holder.poster.getTransitionName()); 
      Log.e("Animation", "Success"); 
      //startActivity((Activity) con,intent,options.toBundle()); 
      c.startActivity(intent,options.toBundle()); 

Auf den obigen Code mit der zweiten Aktivität gestartet wird, aber nichts ist zu sehen, zum Beispiel die zweite Aktivität eines FAB enthält, die, wenn darauf geklickt youtube gestartet wird. Ich weiß, wo die FAB so ist, wenn ich blind klicken, ins Leben gerufen youtube richtig, aber nichts ist sichtbar in der zweiten Aktivität

D/ViewRootImpl: changeCanvasOpacity: opaque=true 

Es ist eines der logcats. Ich denke, das muss das Problem sein !!

Antwort

0

Ich hatte das gleiche Problem, ich konnte nichts finden, was hilft, sorry, aber vielleicht sollten Sie überdenken, warum würden Sie eine Fragment to Activity Beziehung benötigen, wenn Sie mit einer Fragment zu Fragment oder Aktivität zu Aktivität Beziehung arbeiten könnten.

Ich habe mein Problem gelöst, dass Art und Weise meinen Code zu einem Fragmente wechselnde Beziehung fragmentieren und es gibt viel Dokumentation und Beispiele über dieses Shared Element Transitions

+0

so krank versuchen verschachtelte Fragmente mit rufen und antworten! – user3740778

+0

in diesem Moment ist das nicht möglich – Carlos

0

Fragment zu Aktivität ist die gleich wie Aktivität zu Aktivität, Weil Ihr Fragment ist in einer Aktivität.

+0

Theoretisch ist es richtig, aber praktisch, wenn Sie Code schreiben, schreiben Sie den Übergang von Fragment, weil die Elemente nicht in Aktivität sind in Fragment. Letztendlich ist es Fragment für Aktivität. – user3740778

0

Ich fand schließlich die Antwort, die Aufrufmethode startActivity ist anders. Sie haben

startActivityFromFragment(fragment, intent, req_code, options.toBundle()); 

vom AppCompactActivity