-
Notifications
You must be signed in to change notification settings - Fork 667
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Orientation changes prevent the Crouton queue to be displayed correctly. #24
Comments
A workaround is to call
|
Concerning the workaround: If I create and show a Crouton (default usage) in a Fragment, should I anyway use the onDestroy() method of the activity or the one of the fragment? |
If you show it within the Fragment, calling it in the Fragment's onDestroy() is the best solution. |
If by "show it" you mean calling the "show()" method, yes I do it in the fragment. But if you mean where I show it in the layout hierarchy, I am not sure. I call the following from within my fragment: Crouton.makeText(getSherlockActivity(), "...", Style.ALERT).show(); Since I do not attach the crouton to a certain view of the fragment layout explicitly, I guess it is attached onto the activity. Therefore I ask myself if the fragment's or the activity's "onDestroy()" should be used. Does it depend on where "show()" was called from (activity or fragment), or to which view (activity, or explicit view in fragment layout) the crouton is attached to? |
Sorry, my answer was not clear. If you have attached a Crouton to a Fragment's ViewGroup you want to call It does not matter where the |
Please remember as of HC3.2+ orientation changes do not destroy and recreate activities. So although this may be a work around pre 3.2. It probably wont work on newer devices. |
Thanks a lot. |
Using |
|
In my testing, I found that calling Crouton.cancelAllCroutons(); is very important. I had an Android app running on 2.3 Genymotion, and if I opened a crouton then clicked a button that opened a web site, the phone would navigate back out of the web browser into the app to display the crouton finishing animation where it pops back up and disappears. |
That sounds rather odd. I have not ever experienced something like this. Does it happen with Android versions higher than Gingerbread as well? |
when startActivity(), better to use
|
Note there is a Concurrency issue when following this direction. If placed in onDestroy, Crouton.cancelAllCroutons() can cancel any croutons that are supposed to be showing in the next activity. Better advice is to clear for the activity, as above and save CancelAll for an application ending action |
See README for further info. |
If there are a few Croutons within the queue and the device's orientation changes, all Croutons that have not yet been displayed will not be displayed.
Also Croutons that get added to the queue will not be displayed until the pre-orientation change queue has been fully processed.
This issue exists since the initial version of Crouton.
The text was updated successfully, but these errors were encountered: