Android 在运行时,但不在调试模式下,数组列表出现空指针异常

Android 在运行时,但不在调试模式下,数组列表出现空指针异常,android,for-loop,arraylist,nullpointerexception,Android,For Loop,Arraylist,Nullpointerexception,我在我的类中有一个数组列表,它的值为 ArrayList<VenueIcons> venueArrays = TourDescription.currentTour.getVenues(); 问题是,当我处于调试模式时,它可以正常工作,但当我尝试运行它时,它会对同一数组抛出空指针异常 当我调试它时,我会毫无问题地获得venueArrays的所有值 试图找出哪里出了问题这通常发生在处理基于时间的操作时。很可能getVinces方法需要一些时间来填充数组。因此,当您处于调试模式时,它

我在我的类中有一个数组列表,它的值为

ArrayList<VenueIcons>  venueArrays = TourDescription.currentTour.getVenues();
问题是,当我处于调试模式时,它可以正常工作,但当我尝试运行它时,它会对同一数组抛出空指针异常

当我调试它时,我会毫无问题地获得venueArrays的所有值


试图找出哪里出了问题

这通常发生在处理基于时间的操作时。很可能getVinces方法需要一些时间来填充数组。因此,当您处于调试模式时,它有足够的时间来执行此操作。在另一种情况下,它只返回null。在调用GetVinces之前,您可以尝试插入“睡眠”。然后观察GetVinces方法中实际发生的情况


希望这有帮助。

您应该给一些延迟时间来获取http呼叫的响应。它应该可以工作。

很明显,TourDescription.currentTour.getVinces为空,您应该调查发生这种情况的原因
for (VenueIcons objVenues : venueArrays)     {



}