datetimepicker
datetimepicker copied to clipboard
IllegalStateException : Can not perform this action after onSaveInstanceState
Bug report
Summary
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at androidx.fragment.app.FragmentManagerImpl.checkStateLoss(FragmentManagerImpl.java:1536)
Environment info
react-native info output:
System:
OS: macOS 10.15.5
CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
Memory: 1020.26 MB / 32.00 GB
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 12.16.1 - /usr/local/bin/node
Yarn: Not Found
npm: 6.14.6 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.9.3 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 13.6, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
Android SDK: Not Found
IDEs:
Android Studio: 4.0 AI-193.6911.18.40.6626763
Xcode: 11.6/11E708 - /usr/bin/xcodebuild
Languages:
Java: 11.0.5 - /usr/bin/javac
Python: 2.7.16 - /usr/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: ^16.13.1 => 16.13.1
react-native: ^0.62.2 => 0.62.2
npmGlobalPackages:
*react-native*: Not Found
Library version: 2.4.2
Steps to reproduce
Error tracking log:
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at androidx.fragment.app.FragmentManager.checkStateLoss(FragmentManager.java:1691)
at androidx.fragment.app.FragmentManager.enqueueAction(FragmentManager.java:1731)
at androidx.fragment.app.BackStackRecord.commitInternal(BackStackRecord.java:321)
at androidx.fragment.app.BackStackRecord.commit(BackStackRecord.java:286)
at androidx.fragment.app.DialogFragment.show(DialogFragment.java:175)
at com.reactcommunity.rndatetimepicker.RNTimePickerDialogModule.open(RNTimePickerDialogModule.java:120)
at java.lang.reflect.Method.invoke(Native Method)
at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:151)
at com.facebook.react.bridge.queue.NativeRunnable.run(Native Method)
at android.os.Handler.handleCallback(Handler.java:761)
at android.os.Handler.dispatchMessage(Handler.java:98)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
at android.os.Looper.loop(Looper.java:156)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:226)
at java.lang.Thread.run(Thread.java:776)
I am also facing this in version 2.5.0
Fatal Exception: java.lang.IllegalStateException
Can not perform this action after onSaveInstanceState
androidx.fragment.app.FragmentManager.checkStateLoss (FragmentManager.java:1691)
androidx.fragment.app.FragmentManager.enqueueAction (FragmentManager.java:1731)
androidx.fragment.app.BackStackRecord.commitInternal (BackStackRecord.java:321)
androidx.fragment.app.BackStackRecord.commit (BackStackRecord.java:286)
androidx.fragment.app.DialogFragment.show (DialogFragment.java:175)
com.reactcommunity.rndatetimepicker.RNTimePickerDialogModule.open (RNTimePickerDialogModule.java:122)
java.lang.reflect.Method.invoke (Method.java)
com.facebook.react.bridge.JavaMethodWrapper.invoke (JavaMethodWrapper.java:372)
com.facebook.react.bridge.JavaModuleWrapper.invoke (JavaModuleWrapper.java:151)
com.facebook.react.bridge.queue.NativeRunnable.run (NativeRunnable.java)
android.os.Handler.handleCallback (Handler.java:873)
android.os.Handler.dispatchMessage (Handler.java:99)
com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage (MessageQueueThreadHandler.java:27)
android.os.Looper.loop (Looper.java:224)
com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run (MessageQueueThreadImpl.java:226)
java.lang.Thread.run (Thread.java:764)
Im facing issue in version 6.5.3 . Please give a solution .
Fatal Exception: java.lang.lllegalStateException
Can not perform this action after onSavelnstanceState
Fatal Exception: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
androidx.fragment.app.FragmentManager.checkStateLoss(FragmentManager.java:1844)
androidx.fragment.app.FragmentManager.enqueueAction(FragmentManager.java :1884)
androidx.fragment.app.BackStackRecord.commitInternal (BackStackRecord.java:329)
androidx.fragment.app.BackStackRecord.commit (BackStackRecord.java:294)
androidx.fragment.app.DialogFragment.show(DialogFragment .java :260)
com.reactcommunity.rndatetimepicker.RNDatePickerDialogModule$1.run(RNDatePickerDialogModule.java:152)
android.os.Handler.handleCallback (Handler.java:883)
android.os.Handler.dispatchMessage(Handler.java:100)
android.os.Looper .loop(Looper . java:237)
android. app.ActivityThread.main(ActivityThread. java:8107)
java.lang. reflect Method. invoke(Method. java)
In my case, this error happened when attempting to call ReactDelegate's onHostResume from a view in an Activity that was no longer visible, e.g. in the Activity back stack. So when I called DateTimePickerAndroid.open it was attempting to open the dialog in Activity 1 instead of Activity 2.
Was able to fix this in my case by only calling ReactDelegate's onHostResume on the foreground Activity.