From dd6e04da6fcdb2216f4d1fcec7e7935feb43d1c1 Mon Sep 17 00:00:00 2001 From: Hannes Achleitner Date: Sun, 1 Feb 2026 09:51:28 +0100 Subject: [PATCH] Deprecation FragmentManager --- app/build.gradle.kts | 1 + .../fragments/ViewPagerSimpleChartDemo.kt | 26 +++++++++---------- .../res/layout/activity_awesomedesign.xml | 2 +- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index c4ebb5bc37..dbbcb1ea2f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -54,6 +54,7 @@ dependencies { implementation(project(":chartLib")) implementation(project(":chartLibCompose")) implementation("androidx.window:window:1.5.1") + implementation("androidx.viewpager2:viewpager2:1.1.0") // Compose BOM val composeBom = platform("androidx.compose:compose-bom:2026.01.01") diff --git a/app/src/main/kotlin/info/appdev/chartexample/fragments/ViewPagerSimpleChartDemo.kt b/app/src/main/kotlin/info/appdev/chartexample/fragments/ViewPagerSimpleChartDemo.kt index 954bdbbf56..aac3100861 100644 --- a/app/src/main/kotlin/info/appdev/chartexample/fragments/ViewPagerSimpleChartDemo.kt +++ b/app/src/main/kotlin/info/appdev/chartexample/fragments/ViewPagerSimpleChartDemo.kt @@ -11,8 +11,7 @@ import android.widget.Toast import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.core.net.toUri import androidx.fragment.app.Fragment -import androidx.fragment.app.FragmentManager -import androidx.fragment.app.FragmentPagerAdapter +import androidx.viewpager2.adapter.FragmentStateAdapter import com.google.android.material.snackbar.Snackbar import info.appdev.chartexample.R import info.appdev.chartexample.databinding.ActivityAwesomedesignBinding @@ -31,25 +30,24 @@ class ViewPagerSimpleChartDemo : DemoBase() { setContentView(binding.root) binding.pager.offscreenPageLimit = 3 - binding.pager.adapter = PageAdapter(supportFragmentManager) + binding.pager.adapter = PageAdapter(this) showSnackbar("Swipe left and right for more awesome design examples!") } - private class PageAdapter(fm: FragmentManager?) : FragmentPagerAdapter(fm!!) { - override fun getItem(pos: Int): Fragment { - var f: Fragment? = null - when (pos) { - 0 -> f = SineCosineFragment.newInstance() - 1 -> f = ComplexityFragment.newInstance() - 2 -> f = BarChartFrag.newInstance() - 3 -> f = ScatterChartFrag.newInstance() - 4 -> f = PieChartFrag.newInstance() + private class PageAdapter(activity: ViewPagerSimpleChartDemo) : FragmentStateAdapter(activity) { + override fun createFragment(position: Int): Fragment { + return when (position) { + 0 -> SineCosineFragment.newInstance() + 1 -> ComplexityFragment.newInstance() + 2 -> BarChartFrag.newInstance() + 3 -> ScatterChartFrag.newInstance() + 4 -> PieChartFrag.newInstance() + else -> throw IllegalArgumentException("Invalid position: $position") } - return f!! } - override fun getCount(): Int { + override fun getItemCount(): Int { return 5 } } diff --git a/app/src/main/res/layout/activity_awesomedesign.xml b/app/src/main/res/layout/activity_awesomedesign.xml index 3add0e955b..f6d69aee7e 100644 --- a/app/src/main/res/layout/activity_awesomedesign.xml +++ b/app/src/main/res/layout/activity_awesomedesign.xml @@ -4,7 +4,7 @@ android:layout_height="match_parent" android:orientation="vertical"> -