我已经阅读过有关将数组传递给活动的帖子,但我很困惑我将如何为我的具体情况做这件事。
我有一个名为DaysWeather(DaysWeather []数组)的对象数组,其中对象具有多个String属性以及位图属性。我读到某个地方,你必须把它变成可序列化的或者可以用的东西,但乍一看似乎很乱。
有人能引导我朝着正确的方向前进吗?
有一种简单的方法吗?
答案 0 :(得分:5)
您的对象需要实现Parcelable interface。
完成此操作后,您可以创建Parcelable数组并将其传递给活动:
// We assume we have an array: DaysWeather[] input;
Parcelable[] output = new Parcelable[input.length];
for (int i=input.length-1; i>=0; --i) {
output[i] = input[i];
}
Intent i = new Intent(...);
i.putExtra("myArray", output);
另请注意,在实现Parcelable接口时,请不要序列化完整的重物。例如,对于您的位图,仅序列化ressource ID,并在充气时,从资源ID重新创建位图。