【问题标题】:Android Project Fragment Transition throwing Exception when Build target used New API Level 21当构建目标使用新 API 级别 21 时,Android 项目片段转换抛出异常
【发布时间】:2014-11-05 09:22:58
【问题描述】:

例外情况是:

“无法解析 L android/support/v4/app/FragmentTransitionCompat21$1 的超类;”

我正在尝试使用以下函数从 Fragment Manager 的 Fragment Back Stack 中弹出最后一个 Fragment Transition:

getSupportFragmentManager().popBackStack();,

当我这样做时,函数调用在错误之后抛出。仅当我使用新的 Android API 版本 21 作为构建目标时才会发生这种情况。

相同的代码适用于旧 API 版本 20。

错误:找不到“android.support.v4.app.FragmentTransitionCompat21$1”的超类

它似乎是“FragmentTransitionCompat21”基类中的一个内部类。

错误:

W/dalvikvm(1356): Unable to resolve superclass of Landroid/support/v4/app/FragmentTransitionCompat21$1; (1082)

W/dalvikvm(1356): Link of class 'Landroid/support/v4/app/FragmentTransitionCompat21$1;' failed

E/dalvikvm(1356): Could not find class 'android.support.v4.app.FragmentTransitionCompat21$1', referenced from method android.support.v4.app.FragmentTransitionCompat21.setEpicenter

W/dalvikvm(1356): VFY: unable to resolve new-instance 358 (Landroid/support/v4/app/FragmentTransitionCompat21$1;) in Landroid/support/v4/app/FragmentTransitionCompat21;

有没有人发现类似的错误?请帮忙解决一下,谢谢。

【问题讨论】:

  • 这是一个关于这个东西的报告问题:code.google.com/p/android/issues/detail?id=77670。我也在等一个答案。顺便说一句,为什么不赞成?
  • 感谢您提供信息,将等待 API 中解决此问题。
  • 您使用的是哪个支持库版本?您尝试更新了吗?

标签: java android android-fragments android-5.0-lollipop


【解决方案1】:

它肯定引用了 API 21 第 4 版支持库,如果您在事务上设置了任何动画并让 ObjectAnimator 更改它,也请从 R.anim 中引用您的动画,否则它将通过并出错。

【讨论】:

  • 我无法处理此代码,如果有人尝试过并且有效,请告诉我,我可以选择答案。
【解决方案2】:

前几天我也遇到过这种错误,然后我尝试使用 API 22 的 v7 appcompat 而不是 android.support.v4.app.FragmentTransition。

你试过这个吗,

导入android.app.FragmentTransaction;

有代码片段。

FragmentManager fm = getFragmentManager();
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.addToBackStack("");
fragmentTransaction.replace(R.id.content_frame, Fr);
fragmentTransaction.commit();

【讨论】:

  • 我无法处理此代码,如果有人尝试过此解决方案并且有效,请告诉我,我可以选择答案。
【解决方案3】:

如果您尝试从片段内的堆栈中弹出片段,您应该使用 getChildFragmentManager 而不是 getfragmentManager。

[https://stackoverflow.com/questions/6847460/fragments-within-fragments][1]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-04
    • 1970-01-01
    • 2016-02-04
    • 2016-10-22
    • 1970-01-01
    • 2013-05-12
    • 2022-12-17
    • 1970-01-01
    相关资源
    最近更新 更多