diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/FragmentBackStackActivity.kt')
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/FragmentBackStackActivity.kt | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/FragmentBackStackActivity.kt b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/FragmentBackStackActivity.kt index f7569e5fae..c0f93fce1f 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/FragmentBackStackActivity.kt +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/FragmentBackStackActivity.kt @@ -14,18 +14,30 @@ import kotlinx.android.synthetic.main.activity_backstack_fragment.* */ class FragmentBackStackActivity : AppCompatActivity() { + companion object { + private const val FRAGMENT_TAG = "map_fragment" + } + private lateinit var mapFragment: SupportMapFragment override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_backstack_fragment) - mapFragment = SupportMapFragment.newInstance() - mapFragment.getMapAsync { initMap(it) } + if (savedInstanceState == null) { + mapFragment = SupportMapFragment.newInstance() + mapFragment.getMapAsync { initMap(it) } - supportFragmentManager.beginTransaction().apply { - add(R.id.container, mapFragment) - }.commit() + supportFragmentManager.beginTransaction().apply { + add(R.id.container, mapFragment, FRAGMENT_TAG) + }.commit() + } else { + supportFragmentManager.findFragmentByTag(FRAGMENT_TAG)?.also { fragment -> + if (fragment is SupportMapFragment) { + fragment.getMapAsync { initMap(it) } + } + } + } button.setOnClickListener { handleClick() } } |