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