尝试添加动画以替换 fragment 时引发该异常。 根据这个答案,stackoverflow ,过渡框架不能应用于 fragment ,但这篇文章表明您可以 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 中添加)版本。
关于java.lang.ClassCastException : android. support.transition.Fade 无法转换为 android.transition.Transition?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45399946/