繁体   English   中英

如何在屏幕旋转期间保存 MutableList 的状态

[英]How to save the state of MutableList during screen rotation

所以我有一个

var routepoints: MutableList<LatLng> = ArrayList()

我想存钱

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

}

但我收到一条消息

类型不匹配。 必需:ArrayList! 发现:MutableList

如何将我的列表放到outState?

如果您真的担心在屏幕方向更改时保存数据,则使用ViewModel否则您可以在Manifest.xml使用这一行设置android:configChanges您的活动将不会重新创建(因此,数据保持不变)。

<activity
....
android:configChanges="orientation|keyboardHidden" 
.... >

您可以通过这种方式从 MutableList 转换为 java.util.ArrayList

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

记得经纬度类需要扩展(子类)类Parcelable

希望能帮助到你!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM