2016-08-18 10 views
5

Googleはトランジションフレームワークにバックポートを提供するandroid.support.transitionパッケージをリリースしました。本当に素晴らしいです。

https://developer.android.com/reference/android/support/transition/package-summary.html

フラグメントの取引のための共有要素として、このパッケージからの移行/ TransitionSetオブジェクトを使用しようとすると残念ながら、アプリケーションは次のエラーで失敗します。

android.support.transition.Transition/TransitionSetをフラグメント共有要素の入力/戻り遷移として使用する方法は?

E/AndroidRuntime: FATAL EXCEPTION: main 
Process: gregor.martin.loginregisteractivity, PID: 26186 
java.lang.ClassCastException: android.support.transition.TransitionSet cannot be cast to android.transition.Transition 
at android.support.v4.app.FragmentTransitionCompat21.wrapSharedElementTransition(FragmentTransitionCompat21.java:86) 
at android.support.v4.app.BackStackRecord.getSharedElementTransition(BackStackRecord.java:1156) 
at android.support.v4.app.BackStackRecord.configureTransitions(BackStackRecord.java:1222) 
at android.support.v4.app.BackStackRecord.beginTransition(BackStackRecord.java:1112) 
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:721) 
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1677) 
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:536) 
at android.os.Handler.handleCallback(Handler.java:751) 
at android.os.Handler.dispatchMessage(Handler.java:95) 
at android.os.Looper.loop(Looper.java:154) 
at android.app.ActivityThread.main(ActivityThread.java:6077) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 

使用する方法があります共有要素の移行として新しいバックポート移行?

+0

ここに同じ問題があります。どんな解決策ですか? –

+0

[こちらはreddit](https://www.reddit.com/r/androiddev/comments/4y70e7/android_support_library_v242_released/)誰かが、「バックグラウンドのAPIはビューレベルでしかない」と言っていますが、アクティビティのトランジションのためにそれらを使用します(トランジションのAPI 21+メソッドのみを持つアクティビティのウィンドウとフラグメントのトランジションを使用して行われます)。*ここには何もありません。 –

答えて

8

UPDATE(2017年8月31日)

それはサポートフラグメントAPIがサポートライブラリの今後のリリースでサポート移行APIを使用できるようになることのように思える(参照元の答えにリンクされた同じトピックのイアン湖の最新のコメント)。遷移がプレLollipopデバイスにバックポートされることを意味しても、キャスティングの問題の単純な解決策にも関わらず、それに関する情報はありませんが、もっと知ってから回答を更新します。私は時間があるリリースの前に、ソースを調べようとします。


オリジナルの答え:

このサポート移行APIは、このようにあなたが断片にそれを使用することはできません唯一のビュー(当分の間、少なくとも)、のためです。どんなにかわいそう...

Confirmed by Ian Lake in this Google+ answer

+0

ありがとうございました。これは実際に今働きます。 – JustBasti

関連する問題