【问题标题】:How to send MutableMap from activity to another with intent如何将 MutableMap 从活动发送到另一个有意图的活动
【发布时间】:2020-04-17 15:04:49
【问题描述】:

我有可变映射为private var optionsList: MutableMap<String, List<String>> = mutableMapOf(),我需要将它发送到另一个活动,我使用了这个:

        val optionsIntent = Intent(this@MainActivity, OptionsActivity::class.java)
        optionsIntent.putExtra(
            "optionsLi",optionsList)
        startActivity(optionsIntent)

它在putExtra 中给了我一个错误,但我找不到像 putMap 之类的东西或可以使用的东西。

【问题讨论】:

标签: android kotlin mutablemap


【解决方案1】:

使用

private var optionsList: HashMap<String, List<String>> = hashMapOf()

代替

private var optionsList: MutableMap<String, List<String>> = mutableMapOf()

由于 HashMap 实现了 Serializable 接口,因此很容易将其添加到意图中

【讨论】:

  • @Onik,在 Kotlin 中 HashMap&lt;K, V&gt; 是类型别名,实际上指向 java.util.HashMap&lt;K, V&gt;。这是实现:public actual typealias HashMap&lt;K, V&gt; = java.util.HashMap&lt;K, V&gt;
  • 其实LinkedHashMap&lt;K, V&gt; extends MutableMap&lt;K, V&gt;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 2013-03-24
  • 2012-04-15
相关资源
最近更新 更多