Как сохранить состояние MutableList при повороте экрана - PullRequest
0 голосов
/ 20 февраля 2020

Итак, у меня есть

var routepoints: MutableList<LatLng> = ArrayList()

, и я хочу сохранить в

override fun onSaveInstanceState(outState: Bundle) {
    super.onSaveInstanceState(outState)
        outState.putParcelableArrayList("routepoints",routepoints)

}

Но я получаю сообщение

Несоответствие типов. Обязательно: ArrayList! Найдено: MutableList

Как поместить мой список в outState?

Ответы [ 2 ]

1 голос
/ 20 февраля 2020

Если вы действительно беспокоитесь о сохранении данных при изменении ориентации экрана, используйте ViewModel , в противном случае вы можете установить android:configChanges в Manifest.xml с этой строкой, ваша активность не будет воссоздана (поэтому данные остаются такими же ).

<activity
....
android:configChanges="orientation|keyboardHidden" 
.... >
0 голосов
/ 20 февраля 2020

вы можете сделать этот способ для преобразования из MutableList в java .util.ArrayList

outState.putParcelableArrayList("routepoints", java.util.ArrayList<latLong>(routepoints))

помните, что класс latLong должен расширять (подкласс) класс Parcelable

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...