我已将targetSdkVersion
和compileSdkVersion
升级到**33
。
现在收到警告getSerializableExtra
和getParcelableExtra
已过时。
我检查并确认from here已被弃用。
建议使用updated**getSerializableExtra
和getParcelableExtra
,任何人都可以帮助我使用更新的方法。
1.获取**Object
**时出现警告:
1.获取**List
或ArrayList
**时出现警告:
6条答案
按热度按时间n3ipq98p1#
这就是我所使用的:
我在这里也为getParcelable编写了相同的代码,并请求将其添加到Support libraries directly
vyu0f0g12#
方法
T getSerializableExtra(String, Class<T>)
是从android 33引入的。所以你应该为使用android 33以下的设备使用if块。然后您可以在您活动中使用它,如下所示:
oxcyiej73#
但是,Mohamad Seyedi's回答完成了这项工作。但是,在从**
onActivityResult()
获取intent数据的情况下,它失败了。我们无法在
onActivityResult()
**内使用Activity的Intent获取数据。以下是我得到的解决方案。解决方案1:使用分机功能:
用法:
解决方案2:使用常规函数:
用法:
4uqofj5v4#
我自己还没有用过,因为文档说更新的方法是
T getSerializableExtra(String, Class<T>)
所以我想你可以如下使用它。kr98yfug5#
受穆罕默德答案的启发,你可以做一个延伸
并在任何地方都这样称呼它:
ux6nzvsh6#
然后,创建函数