MVP-Mosby-Api10:NoSuchMethodError android.support.v4.app.FragmentActivity.isChangingConfigurations
MVP-Mosby-Api10: NoSuchMethodError android.support.v4.app.FragmentActivity.isChangingConfigurations
我在 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
库的,所以我不明白为什么会这样。
是的,方法 isChangingConfigurations()
已在 API 11 中引入:
https://developer.android.com/reference/android/app/Activity.html#isChangingConfigurations()
作为android.app.Activity
平台的一部分class(不是android.support.v4.app.FragmentActivity
的一部分,而是FragmentActivity extends Activity
)。
因此,这不适用于 API < 11。
您可以在 Activity 中实施 isChangingConfigurations()
并调用
super.isChangingConfigurations()
if API >=11 或者如果 (API < 11) 实现你自己的东西。您可能想查看 Activities 源代码,但我不确定如何向后移植。 https://github.com/android/platform_frameworks_base/blob/master/core/java/android/app/Activity.java#L5152
如果 API < 11,您可以尝试 return false
。这意味着 View 的状态(和 Presenter)将无法在屏幕方向更改后继续存在。免责声明:这也可能会导致一些我现在不知道的其他不需要的副作用,并且可能会破坏 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
库的,所以我不明白为什么会这样。
是的,方法 isChangingConfigurations()
已在 API 11 中引入:
https://developer.android.com/reference/android/app/Activity.html#isChangingConfigurations()
作为android.app.Activity
平台的一部分class(不是android.support.v4.app.FragmentActivity
的一部分,而是FragmentActivity extends Activity
)。
因此,这不适用于 API < 11。
您可以在 Activity 中实施 isChangingConfigurations()
并调用
super.isChangingConfigurations()
if API >=11 或者如果 (API < 11) 实现你自己的东西。您可能想查看 Activities 源代码,但我不确定如何向后移植。 https://github.com/android/platform_frameworks_base/blob/master/core/java/android/app/Activity.java#L5152
如果 API < 11,您可以尝试 return false
。这意味着 View 的状态(和 Presenter)将无法在屏幕方向更改后继续存在。免责声明:这也可能会导致一些我现在不知道的其他不需要的副作用,并且可能会破坏 Mosby 或支持库的任何未来版本。