Skip to content

Commit 33a943f

Browse files
100kg-5kmnekohasekai
authored andcommitted
Fix FragmentStateAdapter recreates Fragments
1 parent 6df2f60 commit 33a943f

2 files changed

Lines changed: 4 additions & 1 deletion

File tree

app/src/main/java/io/nekohasekai/sfa/ui/dashboard/GroupsFragment.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ class GroupsFragment : Fragment(), CommandClient.Handler {
6969
override fun onDestroyView() {
7070
super.onDestroyView()
7171
binding = null
72+
commandClient.disconnect()
7273
}
7374

7475
private var displayed = false

app/src/main/java/io/nekohasekai/sfa/ui/main/DashboardFragment.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,11 @@ class DashboardFragment : Fragment(R.layout.fragment_dashboard) {
4040
return binding.root
4141
}
4242

43+
private val adapter by lazy { Adapter(this) }
4344
private fun onCreate() {
4445
val activity = activity ?: return
4546
val binding = binding ?: return
46-
binding.dashboardPager.adapter = Adapter(this)
47+
binding.dashboardPager.adapter = adapter
4748
binding.dashboardPager.offscreenPageLimit = Page.values().size
4849
activity.serviceStatus.observe(viewLifecycleOwner) {
4950
when (it) {
@@ -107,6 +108,7 @@ class DashboardFragment : Fragment(R.layout.fragment_dashboard) {
107108
super.onDestroyView()
108109
mediator?.detach()
109110
mediator = null
111+
binding?.dashboardPager?.adapter = null
110112
binding = null
111113
}
112114

0 commit comments

Comments
 (0)