So I have this activity that creates 4 fragments for me, which are a bottom navigation bar. when I change to dark mode or light mode, the fragments reset and take me back to the "main fragment" which is basically home in the bottom navigation bar. so my question is how do I stay in the tab I was in while changing UI mode? while of course changing the UI mode of the fragments as well
How do I not reset my fragments when configuration changes happen?
686 Views Asked by moalzoabi At
1
There are 1 best solutions below
Related Questions in JAVA
- I need the BIRT.war that is compatible with Java 17 and Tomcat 10
- Creating global Class holder
- No method found for class java.lang.String in Kafka
- Issue edit a jtable with a pictures
- getting error when trying to launch kotlin jar file that use supabase "java.lang.NoClassDefFoundError"
- Does the && (logical AND) operator have a higher precedence than || (logical OR) operator in Java?
- Mixed color rendering in a JTable
- HTTPS configuration in Spring Boot, server returning timeout
- How to use Layout to create textfields which dont increase in size?
- Function for making the code wait in javafx
- How to create beans of the same class for multiple template parameters in Spring
- How could you print a specific String from an array with the values of an array from a double array on the same line, using iteration to print all?
- org.telegram.telegrambots.meta.exceptions.TelegramApiException: Bot token and username can't be empty
- Accessing Secret Variables in Classic Pipelines through Java app in Azure DevOps
- Postgres && statement Error in Mybatis Mapper?
Related Questions in ANDROID
- Creating global Class holder
- Flutter + Dart: Editing name of a tab shows up a black screen
- android-pdf-viewer Received status code 401 from server: Unauthorized
- Sdk 34 WRITE_EXTERNAL_STORAGE not working
- ussd reader in Recket Native module
- Incorrect display of LinearGradientBrush in IOS
- The Binary Version Of its metadata is 1.8.0, expected Version is 1.6.0 build error
- I can't make TextInput to auto expand properly in Android
- Creating multiple instances of a class with different initializing values in Flutter
- How to create a lottie animation
- making android analyze with coverity sast tool
- Flutter plugin development android src not opening after opening example
- I initialize my ViewModel in the Activity with several fragments as tabs, but the fragments(tabs) return null for the updated livedata
- Node.js Server + Socket.IO + Android Mobile Applicatoin XHR Polling Error...?
- How I can use the shared preferences class?
Related Questions in ANDROID-FRAGMENTS
- Gray view with a white horizontal bar appearing after Google signin from my Android app
- why doesn't it switch to another fragment?
- React Native Android, why is fragment not visible after a certain offset?
- Is it possible to navigate from one navgraph to a different one on a different starting fragment? (Nested Navgraph)
- Open full screen fragment from smaller fragment
- Attempt to invoke virtual method 'android.content.Context androidx.fragment.app.FragmentHostCallback.getContext()' on a null object reference
- Retain last opened Fragment after opening push notification
- How do I solve the in fragment problem in android studio
- Option menu does not appear in the toolbar after being collapsed inside a fragment
- How can I force or ensure that a Fragment gets recreated by FragmentStateAdapter?
- OnSwipe in MotionLayout scene transition
- Is it a good idea to use SharedViewModel (with Flow inside it) between a ForegroundService and a UI Component (Fragment/ Composables)
- Kotlin Stateflow new value emitted but not collected
- Android Studio (java) - Item of recyclerView of fragment can't be removed permanently
- I have an error about switching between fragments
Related Questions in ANDROID-FRAGMENTACTIVITY
- Can I launch Play Store Review Flow from a Fragment?
- how to I find the correct findFragmentById to accesss the TextView?
- Not able to inflate a fragment inside the Frame layout which is a children of collapse bar layout
- How to send data from activity page to fragment page
- Hiding menu from toolbar on a specific fragment within the same activity
- How to set icon for TabLayout Tab in Android Fragment (Javascript)
- BottomNavigationView height issue when changing status bar transparency in Android app material 3
- Cursor Value Error While Working With Cursor
- Back to last fragment error since no addToBackStack Kotlin
- Change Activity to Fragment
- java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.AtMainActivity.displayCreateCategoryDialog
- Changing AppBar state (header and back icon) after adding new fragment
- How do I safely re-create my activity when I switch between dark and light mode when using Fragment dialog?
- How do I keep getting empty response
- 'Non-static method 'findViewById(int)' cannot be referenced from a static context
Related Questions in ANDROID-CONFIGCHANGES
- How to handle configuration changes (Screen orientation, App display size etc) in Android programatically
- Android configuration changes and calling requestLayout - why doesn't it work?
- Textview fontsize SP vs android resource dir... Is there a resource dir for font size config?
- Android RecyclerView and addOnScrollListener
- UI is not changing as expected while changing orientation in android
- How to use different design for landscape and portrait mode without recalling the API calls on that Activity?
- onDestroy called for Landscape activity A when Portrait activity B is opened from A
- How do I not reset my fragments when configuration changes happen?
- How to support Spanish and French Language in android?
- Enable App to modify Android system's Dark/Night Mode Setting
- Android How Lifecycle-Aware Components Detect Configuration Change inside ViewModel
- Change App Language in devices with API 22 String don't change
- Can a configuration change occur after startActivityForResult was called?
- Android - Restore dynamically added view state on orientation change
- In RecyclerView, keep element expanded / selected in config changes
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)
Popular # Hahtags
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?
The best aproach is to let activity recreate itself with its fragments, some configuration changes might be required to show correct UI. And its always possible that your user will move your app to the background, system will kill it after a while and then when your user will go back to it - you will be back with your problem of recreation. I am talking about it to prevent you from using hacks like configChanges in androidmanifest which prevent Activity recreation on configuration change event.
But back to the main point: when configuration change destroys your Activity, fragments will be automatically recreated when new instance of Activity will be created. But its up to you to save some of its state. I am not sure how your UI and code looks like. The very basic way to save and restore state (like active tab in your question) is to use: Activity.onSaveInstanceState(Bundle) / Activity.onCreate(savedInstanceState: Bundle?) and Fragment.onSaveInstanceState(Bundle)/Fragment.onCreate(savedInstanceState: Bundle?) mechanism. You save relevant variables in bundles in onSaveInstanceState, and later in onCreate restore this state using savedInstanceState variable, but only if its non null - which happens when Activity is created for the first time.
This is a broad topic, you can find more on this here:
https://developer.android.com/topic/libraries/architecture/saving-states https://developer.android.com/guide/fragments/saving-state