I currently have the following simple fragment code:
class HomeFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.fragment_home, container, false)
}
}
In case I switch to another Fragment I want to save it's current state and restore it when moving back. How can I do that?
I don't want save some variables, but the whole fragment state.
I'm calling the fragment through the code below:
navView.setNavigationItemSelectedListener {
// Highlight the current selected Item in NavBar
it.isChecked = true
// Switch Fragments when user clicks on Items in NavDrawer
when(it.itemId) {
R.id.nav_home -> replaceFragment(HomeFragment(), it.title.toString())
R.id.nav_import -> replaceFragment(ImportFragment(), it.title.toString())
R.id.nav_export -> replaceFragment(ExportFragment(), it.title.toString())
R.id.nav_share -> replaceFragment(ShareFragment(), it.title.toString())
}
true
}
// Default Page is Home
replaceFragment(HomeFragment(), getString(R.string.home))