尝试使用Intent
将数据类User
从一个"活动"传递到另一个"活动"。
- 我的putExtra看起来像这样使用我的观察乐趣:**
val intent = Intent(this, MainActivity::class.java)
intent.putExtra("userData",userData)
startActivity(intent)
- get例程如下所示:**
userData = intent.getParcelableExtra<User>("userData") as User
- 或**
userData = intent.getParcelableExtra("userData")
我的问题是Android Studio剔除了这个函数。我的用户数据类被标记为@Parcelize
。这一切最终都是getParcelableExtra。
- 我已添加到我的Gradle版本中:**
id 'kotlin-parcelize'
我读过一些关于Parcelable
比Serialable
更现代的帖子,所以这就是我使用的技术。所有帖子都来自2018年或之前,其中许多是Java。
- 如何使用Intent将数据类从一个Activity发送到另一个Activity?**
2条答案
按热度按时间carvr3hs1#
溶液:
考虑到最现代的解决方案需要编译器版本33,我选择了一个向后兼容性更强的解决方案,这段代码将数据对象转换成字符串,然后再转换回对象。
uajslkp62#
由于
getParcelableExtra (String name)
从API级别33起已弃用,因此您可以从api级别33起使用getParcelableExtra (String name, Class<T> clazz)
在您的情况下,请用途:
其中TIRAMISU为常数值33
欲了解更多信息,请阅读:请访问:http://developer.android.com/reference/android/content/Intent#getParcelableExtra(获取额外可打包文件)