我有一个服务,它会生成SortedSet
个对象。我需要将它传递给另一个将使用它的Intent
。首先放入通知区域,然后当用户操作它时,它将需要触发活动。
因为它自己的SortedSet不是Parcelable
也不是Serializable
所以它不起作用。 SortedSet
中的一个项目已经可以使用,并且使用得很好,但我需要整套。
如何传递SortedSet
作为意图的额外内容?
答案 0 :(得分:1)
我发现了:
// passes as serializable and as Array
intent.putExtra("results", result.toArray());
然后通过将数组重建为SortedSet
来读出。
就我而言:
Serializable s = this.getIntent().getSerializableExtra("results");
Object[] o = (Object[]) s;
if (o != null) {
resultSet = new TreeSet<RatedMessage>(new Comp());
for (int i = 0; i < o.length; i++) {
if (o[i] instanceof RatedMessage) {
resultSet.add((RatedMessage) o[i]);
}
}
}
现在我可以进一步使用resultSet
。