如何在kotlin中获取mutableList的mutableList?
Posted
技术标签:
【中文标题】如何在kotlin中获取mutableList的mutableList?【英文标题】:How to get mutableList of mutableList in kotlin? 【发布时间】:2021-10-12 13:32:42 【问题描述】:我正在尝试在 kotlin 中获取 LatLng 对的 mutableList 的 mutableList。下面是我的代码。
当函数 onPauseButtonClicked()
被调用时,我得到 locationlist
变量中的值,该变量是 LatLng 对的 mutableList。但我无法将值添加到 locationlists
变量,这是一个 mutableListOf(locationList)
。该值显示为空。代码有什么问题。
private var locationList = mutableListOf<LatLng>()
private var locationlists = mutableListOf(locationList)
/**
This is function where locationlists is called
*/
private fun onPauseButtonClicked()
locationlists.add(locationList)
// Toast.makeText(requireContext() ,"$locationList", Toast.LENGTH_SHORT).show()
val c= locationlists[0]
Toast.makeText(requireContext() ,"$c", Toast.LENGTH_SHORT).show()
【问题讨论】:
【参考方案1】:初始化使用时
private val locationLists = MutableList<MutableList<LatLang>>(0)mutableListOf()
【讨论】:
您能详细说明一下,因为您是只添加 1 个对象,还是以其他方式填充?去哪里? 当我locationlists.add(locationList)
时,旧值会被删除。我只能在locationlists
中检索新添加的值。
你的减速范围是对的吗? , 因为add()
追加到结尾
@user16493824 您的问题需要像@Anshul 所问的那样详细说明。你能提供更多关于从locationList
中附加/删除的内容吗?存储一个可变列表,在插入locationLists
后将被进一步修改,这似乎是问题的可能根源。如果不需要可变后插入,请考虑在插入 locationLists
之前制作不可变副本。
我的LatLng
变量中有LatLng
对数组作为mutableListOf<LatLng>()
inside 我的locationList
变量。我正在尝试将locationList
添加到另一个变量locationlists
现在是`val locationlists = MutableList(array of array). But When I run the code I am only able to retrieve values in
locationlists[size-1]`。其他值被删除。add
会将 MutableList 添加到列表的末尾。但是,当您调用 mutableListOf(locationList)
时,您已经将一个空的 MutableList 作为第一个元素。在调试器中很容易验证,您的位置列表将包含两个元素,即使您只调用一次 add
。
因此,正确的方法是使用 MutableList 的空列表来初始化 locationlists
var locationlists = mutableListOf<MutableList<LatLng>>()
【讨论】:
以上是关于如何在kotlin中获取mutableList的mutableList?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 kotlin 中的意图传递对象的 MutableList
如何将字符串从共享首选项转换为 MutableList<LatLng> 对以在 kotlin 中绘制折线?
Kotlin集合操作总结 ( List 集合 | MutableList 集合 | List 集合遍历 | Set 集合 | MutableSet 集合 | Map 集合 | 可变 Map集合 )
Kotlin集合操作总结 ( List 集合 | MutableList 集合 | List 集合遍历 | Set 集合 | MutableSet 集合 | Map 集合 | 可变 Map集合 )
Kotlin集合操作 ② ( MutableList 可变列表集合 | 修改 MutableList 集合的 mutator 函数 )