android – 我如何知道为Parcel.readStringArray()创建数组有多大?

android – 我如何知道为Parcel.readStringArray()创建数组有多大?,第1张

概述当我这样做时,我得到一个空指针异常: private String[] foo; private void readFromParcel(Parcel in) { in.readStringArray(foo); } 我似乎需要先分配数组.但我怎么知道它有多大?我是否必须首先编写尺寸然后先读取尺寸?并不是有一个writeStringArray()方法来处理这个问题 当我这样做时,我得到一个空指针异常:

private String[] foo;    private voID readFromParcel(Parcel in) {        in.readStringArray(foo);    }

我似乎需要先分配数组.但我怎么知道它有多大?我是否必须首先编写尺寸然后先读取尺寸?并不是有一个writeStringArray()方法来处理这个问题吗?

从Android Documentation:

There are a varIEty of methods for reading and writing raw arrays of primitive objects,which generally result in writing a 4-byte length followed by the primitive data items.

所以,如果我自己编写计数,它会被写两次.必须有一些方法可以做到这一点,我不负责管理这个.

解决方法 我知道这不是一个直接的答案,但您可以使用List(ArrayList< String>)代替writeList()和createStringArrayList().

或者您可以使用Parcle#createStringArray()来获取阵列.

总结

以上是内存溢出为你收集整理的android – 我如何知道为Parcel.readStringArray()创建数组有多大?全部内容,希望文章能够帮你解决android – 我如何知道为Parcel.readStringArray()创建数组有多大?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1129619.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存