I have an Activity with a NavigationDrawer and a Fragment which is created when I click on the NavigationDrawer. When I create the Fragment, I pass to it some arguments. When I rotate the screen, the activity is recreated, the navigationdrawer is recreated and also the Fragment. After this operations, the fragment is recreated, but without arguments. I want understand who creates the Fragment the second time... Can anyone help me?
onCreateView called two times on Fragment when I rotate the screen
2.2k views Asked by fran At
2
There are 2 answers
0
Joshua
On
I ran into a similar issue when trying to restore the video player state (play or pause) and position (time elapsed) after changing the screen orientation. When I rotate the screen once, I noticed that onCreateView in the fragment activity is called twice. When it is rotated twice, onCreateView is called three time - and so on. The last call somehow forgets the states I saved in onSaveInstanceState (in the fragment activity).
Upon digging around, I found the answer I was looking for. In the activity that adds the fragment, I needed to check if savedInstanceState is null. Only if it is null should you add the fragment.
For example:
if (savedInstanceState == null) {
fragmentManager = getSupportFragmentManager();
FragmentActivity fragment = new FragmentActivity();
fragmentManager.beginTransaction()
.add(R.id.fragment_container, fragment)
.commit();
}
More information can be found here: Android Fragment lifecycle over orientation changes
Related Questions in ANDROID
- Delay in loading Html Page(WebView) from assets folder in real android device
- MPAndroidChart method setWordWrapEnabled() not found
- Designing a 'new post' android activity
- Android :EditText inside ListView always update first item in the listview
- Android: Transferring Data via ContentIntent
- Wrong xml being inflated android
- AsyncTask Class
- Unable to receive extras in Android Intent
- Website zoomed out on Android default browser
- Square FloatingActionButton with Android Design Library
- Google Maps API Re-size
- Push toolbar content below statusbar
- Android FragmentPagerAdapter Circular listview
- Layout not shifting up when keyboard is open
- auDIO_OUTPUT_FLAG_FAST denied by client can't connect to localhost
Related Questions in ANDROID-ACTIVITY
- Android - No view found for fragment
- Does a recreated activity remember the original intent started it?
- I want to Show Simple Toast Message When User Click On Media Controller button Pause/Start/Stop in video View Using Media Controller
- Why does this run out of memory? Shouldn't the Activities be released?
- How to check in an (Android) async task if the activity it was called from was finished?
- Android Resources Not Found Exception
- How to handle multiple activity task in android when press home?
- Google Play services LocationSettingsAPI - LocationSettingsRequest Dialog not Showing
- How to land or navigate to previous activity if click on back button
- How to scale the imageview and view with matrix using seekBar?
- how to get the URL from mainActivity to the second activity using intents?
- Coordinator Layout with Toolbar in Fragments or Activity
- NullPointerException error in Android: Unable to instantiate
- ListView OnItemClickListener with a new Activity
- How can i send main activity to inner class inside of Fragment java class?
Related Questions in ANDROID-FRAGMENTS
- Android - No view found for fragment
- Fragment AsyncTask not executing after back button pressed
- I want to Show Simple Toast Message When User Click On Media Controller button Pause/Start/Stop in video View Using Media Controller
- Call special fragment in Navigation Drawer Activity from separate Activity
- Android FragmentViewPager in Fragment
- How to restrict fragment from adding to top of stack if it already exist in the top of stack in android
- Android Studio - Illegal character 8204 error
- Adapter ListView not refreshing from Activity
- Fragment's Transaction replace on API-21 is staying behind
- Integrating Localytics - FragmentActivity
- Null pointer exception on view pager swipe
- Error:(24, 51) error: incompatible types: FragmentAcitvity cannot be converted to Fragment
- How to get menu options in actionbar aligned with fragments?
- Using Edittext in Fragment Activities outside the onCreateView method
- Clicking CardView to load a fragment
Related Questions in FRAGMENT
- Android FragmentViewPager in Fragment
- How to remove Fragments from backstack
- Error:(24, 51) error: incompatible types: FragmentAcitvity cannot be converted to Fragment
- putSerializable in fragment
- How can I implement a delete button in a ListView and delete from database?
- (Viewpager Adapter) getSupportFragmentManager() returns NULL
- Fragment doesn't show properly in ViewPager
- Horizontal Colored ProgressBar in Android ListView
- Setting view in constructor Android with fragment
- how to avoid creating the loop with the fragment backstack
- Create a fragment in fragment at childFragmentManager
- Back Button from Fragment to an another Fragment
- android with viewpager When i click on Button in the first fragment I want the app to navigate to another activity
- Fragment created again, android?
- I can't get data from edittext in fragment after I replace fragment
Related Questions in SCREEN-ROTATION
- SupportMapFragment map disappears on rotation
- Item added to the Recycler view every time orientation of the device is changed
- android numberpicker index outofbounds rotation
- Restore instanceState of rotated background Fragment
- AppDelegate should call the method if the screen orientation has changed
- Disable Screen Orientation Dynamically In Android(Java)
- Android - don't refresh Google Maps v2 on rotation
- iOS Orientation adapts to unapproved device orientation after Camera dismissed
- How to rotate all icons only
- Rotating only affect one time in iPad in swift 3
- ScreenRotation on iPad
- Android: Drawing and rotating on a canvas
- How do I detect screen rotation
- Retain the Fragment object while rotating
- Set Rotation based on device sensor overriding rotation lock
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Use this in your manifest with Fragment activity:
However, if your application targets API level 12 or lower, then your activity always handles this configuration change itself (this configuration change does not restart your activity, even when running on an Android 3.2 or higher device)