MVP-Mosby-Api10:NoSuchMethodError android.support.v4.app.FragmentActivity.isChangingConfigurations

时间:2016-09-27 13:28:05

标签: android mosby

我在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库,所以我无法理解为什么会这样。

1 个答案:

答案 0 :(得分:1)

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

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

因此,这不会对API<< 11。

您可以在“活动”中实施isChangingConfigurations()并进行调用 super.isChangingConfigurations()如果API> = 11或者实现您自己的事情(API< 11)。您可能需要查看活动源代码,但我不确定如何将其移植回来。 https://github.com/android/platform_frameworks_base/blob/master/core/java/android/app/Activity.java#L5152

如果API<

您可以尝试返回false 11。这意味着View的状态(和Presenter)将无法在屏幕方向更改后继续存在。免责声明:这也可能导致我现在不知道的其他一些不必要的副作用,并且可能会破坏未来任何版本的Mosby或支持库。