Hoi,
Ik ben bezig met een project in Android, Java.
Ik loop nu al een aantal keer tegen het probleem aan dat is soms een NullPointer krijg bij ArrayList.get(index).
Hieronder een klein overzicht van de code waar de exception zich (onder andere) voor doet.
ecgData is hier de ArrayList<Double>() en komt uit de onderstaande code. Deze methode is al een aantal keer aangepast (met een sublist) aangezien ik met andere implementaties waarmee ik het zelfde bereikte ook de exception kreeg.
Deze methode wordt regelmatig (paar keer per seconde) aangeroepen en er wordt ook een paar keer per seconde wat toegevoegd aan beide arraylists.
De exception doet zich maar af en toe voor, soms na 1 minuut, soms na 10 minuten. Langer houdt hij het meestal ook niet uit
Ik hoor graag of iemand een idee heeft van wat hier fout kan gaan. Mocht er meer code nodig zijn om achter het probleem te komen zal ik het ook plaatsen, dan hoor ik het ook graag!
Ik ben bezig met een project in Android, Java.
Ik loop nu al een aantal keer tegen het probleem aan dat is soms een NullPointer krijg bij ArrayList.get(index).
Hieronder een klein overzicht van de code waar de exception zich (onder andere) voor doet.
Java:
1
2
3
4
5
6
7
| for (int counter = 1; counter < ecgData.size(); counter++) { ... currentPoint = ecgData.get(counter); //Hier komt de NullPointer .. } |
ecgData is hier de ArrayList<Double>() en komt uit de onderstaande code. Deze methode is al een aantal keer aangepast (met een sublist) aangezien ik met andere implementaties waarmee ik het zelfde bereikte ook de exception kreeg.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| private List<Long> times = new ArrayList<Long>(); private List<Double> values = new ArrayList<Double>(); public List<Double> getDataStart(long startTime){ if(times.size() == 0 || times.get(times.size()-1) <= startTime){ return new ArrayList<Double>(); } List<Long> copyTimes = new ArrayList<Long>(times); List<Double> copyValues = new ArrayList<Double>(values); for(int i = 0; i < copyTimes.size(); i++){ long time = copyTimes.get(i); if(time < startTime){ if(index >= 0){ copyTimes.remove(i); copyValues.remove(i); i--; } } else { break; } } return copyValues; } |
Deze methode wordt regelmatig (paar keer per seconde) aangeroepen en er wordt ook een paar keer per seconde wat toegevoegd aan beide arraylists.
De exception doet zich maar af en toe voor, soms na 1 minuut, soms na 10 minuten. Langer houdt hij het meestal ook niet uit
Ik hoor graag of iemand een idee heeft van wat hier fout kan gaan. Mocht er meer code nodig zijn om achter het probleem te komen zal ik het ook plaatsen, dan hoor ik het ook graag!
[ Voor 3% gewijzigd door shadooh op 18-04-2013 21:51 ]