gpt4 book ai didi

java - 在 Parcelable 中写入/读取数组或字符串数​​组

转载 作者:行者123 更新时间:2023-11-30 09:24:44 26 4
gpt4 key购买 nike

为了在我的应用程序中的 2 个 Activity 之间传递一个对象,我让类实现了 Parcable,一切正常。现在我想用一个字符串数组 (String[][]) 扩展这个类。

我在互联网上搜索了一段时间,但在 writeToParcel(Parcel dest, int flags) 和 Constructor MyClass(Parcel in)< 中找不到处理此问题的方法.

另一种选择是创建一个仅包含 2 个字符串 stringA 和 stringB 的类,并让该类也实现 Parcable。然后我可以使用 readList() 和 writeList() 来编写该 Parcable 的列表,但这似乎不是一个理想的解决方案。

有什么建议吗?

最佳答案

Parcel 类有一个 writeStringArray() 方法。您的类不能遍历 String[][] 并为每个调用 writeStringArray 吗?

假设你的类(class)有一个成员:

String[][] data;

在 writeToParcel() 中

parcel.writeInt(data.length);
for( int i=0; i<data.lengh; i++ ){
parcel.writeStringArray(data[i]);
}

在 createFromParcel() 中

int size = parcel.readInt();
data = new String[size][];
for( int i=0; i<size; i++ ){
data[i] = parcel.readStringArray();
}

关于java - 在 Parcelable 中写入/读取数组或字符串数​​组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15554755/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com