java.lang.ClassCastException: android.support.transition.Fade 无法转换为 android.transition.Transition?

java.lang.ClassCastException: android.support.transition.Fade cannot be cast to android.transition.Transition?

尝试添加动画以替换片段时抛出该异常。 根据这个答案,, the transition framework cannot be applied to fragments but this post shows you can How to use Material Transitions in Fragment Transactions 我试过的代码如下

final JobFragment jobFragment = JobFragment.newInstance(job);
    final Fragment previousFragment = fragmentManager.findFragmentById(R.id.content);
    final FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    //exit transition
    Fade exitFade = new Fade();
    exitFade.setDuration(1000);
    previousFragment.setExitTransition(exitFade);
    //enter transition
    Explode enterExplode = new Explode();
    enterExplode.setDuration(1000);
    jobFragment.setEnterTransition(enterExplode);

    fragmentTransaction.replace(R.id.content, jobFragment).addToBackStack("jobDetails")
            .commit();

答案在您的标题中 - 您导入错误,一个用于支持库,另一个不是..检查您是否有一致的导入。

示例:

import android.support.transition.Fade;
import android.support.transition.Transition;

或:

import android.transition.Fade;
import android.transition.Transition;

为了兼容性,请使用 support(在 24.2.0 中添加)版本。