【发布时间】:2014-07-28 19:25:58
【问题描述】:
我在 StackOverflow 和互联网上四处查看并尝试了一些方法,但它们都给了我同样的普遍问题。
我有一个 ArrayList,我在一个活动中创建,然后通过(另一个活动或 2 个其他活动,具体取决于用户的选择)并在每个活动(包括创建数组列表的活动)中让用户选择一个组中的单个按钮。选择按钮后,我有一个侦听器,它创建一个简单的字符串,然后将该字符串添加到 ArrayList,或者至少这是我想要它做的。
- 我曾尝试使用
Serialized类将同一个列表传递给它需要通过的所有活动 - 我已经尝试在每个类中创建一个新的 ArrayList,从通过
intent.putExtra()发送然后接收的上一个类中复制一个,以便可以将其复制到一个新的 ArrayList 中以执行相同的操作,直到它到达最后的活动。 - 我试图理解
Parcleable的实现,但这对我来说似乎太多了(我现在不擅长这个)。
每当我尝试使用 ArrayList 的 .add() 方法(或第二次尝试完成此操作时使用 .addAll() 时,所有这些都给了我相同的 NullPointerException。
非常感谢您向初学者提供的任何建议以及解释!如果需要我可以放代码!!
【问题讨论】:
-
您需要发布您的代码和 LogCat,以便我们了解它发生的原因。在没有任何代码的情况下,这里没有人有魔杖知道发生了什么。
-
检查这个答案stackoverflow.com/a/5374603/3820750也许可以帮助你。
-
如果您没有
ArrayList的自定义对象,我认为您不需要Parcelable。您获得NullPointerException的原因可能与您的Activity生命周期有关。确保您以正确的方法复制/创建实例,并且不要忘记切换活动时,您之前的活动可能会被杀死并且您可能会丢失数据。 -
你不需要了解 Parcelable 的实现,你只需要把它扔到parcelabler.com 并得到一个这样的自动实现
标签: java android android-intent android-activity arraylist