0

我在 crashlytics 面板上收到此错误:

Fatal Exception: java.lang.NoSuchMethodError
android.support.v4.app.FragmentActivity.isChangingConfigurations
com.hannesdorfmann.mosby.mvp.MvpFragment.shouldInstanceBeRetained (MvpFragment.java:91)
com.hannesdorfmann.mosby.mvp.delegate.MvpInternalDelegate.detachView (MvpInternalDelegate.java:70)
com.hannesdorfmann.mosby.mvp.delegate.FragmentMvpDelegateImpl.onDestroyView (FragmentMvpDelegateImpl.java:73)
com.hannesdorfmann.mosby.mvp.MvpFragment.onDestroyView (MvpFragment.java:106)
com.hannesdorfmann.mosby.mvp.MvpFragment.shouldInstanceBeRetained (MvpFragment.java:91)

我覆盖了库的清单以使用它,api level 10并且我已经在 android 2.3.3 上对其进行了测试,它工作正常!但现在我看到这个崩溃了crashlytics。嗨,我可以为我的版本解决这个问题吗?崩溃与 api 10 有关吗?因为该方法是针对support v4图书馆的,所以我不明白为什么会这样。

4

1 回答 1

1

是的,该方法isChangingConfigurations()已通过 API 11 引入: https://developer.android.com/reference/android/app/Activity.html#isChangingConfigurations()

作为android.app.Activity平台类的一部分(而不是作为一部分android.support.v4.app.FragmentActivity,但是FragmentActivity extends Activity)。

因此,这不适用于 API < 11。

您可以isChangingConfigurations() 在您的 Activity 中 实现,super.isChangingConfigurations()如果 API >=11 则调用,或者如果(API < 11)则实现您自己的东西。您可能想查看活动源代码,但我不确定如何将其反向移植。https://github.com/android/platform_frameworks_base/blob/master/core/java/android/app/Activity.java#L5152

false如果 API < 11 ,您可以尝试返回。这意味着视图的状态(和演示者)将无法在屏幕方向更改后继续存在。免责声明:这也可能会导致我现在不知道的其他一些不需要的副作用,并且可能会与 Mosby 或支持库的任何未来版本中断。

于 2016-09-28T09:59:36.110 回答