だから、これは私のクラスです:
public class SegmentMaker {
public ArrayList<Segment> makeSegments(CustomNodes cn, Trip myTrip) {
ArrayList<Segment> segments = new ArrayList<Segment>();
ArrayList<Integer>segmentNodes = new ArrayList<Integer>();
int count = 0;
for (int i=0; i < myTrip.getTripList().size(); i++){
Log.d(TAG, "checking " + cn.getOsmID(myTrip.getTripItem(i)));
if (i==0) {
segmentNodes.add(myTrip.getTripItem(i));
}
else if (i==myTrip.getTripList().size()-2) {
segmentNodes.add(myTrip.getTripItem(i));
}
else if (i==myTrip.getTripList().size()-1) {
segmentNodes.add(myTrip.getTripItem(i));
Segment segment = new Segment();
segment.setId(count);
segment.setNodeIds(segmentNodes);
Log.d(TAG, "in SM segment " + segment.getId() + " nodes: " + segment.getNodeIds().toString());
segmentNodes.clear();
count++;
segments.add(segment);
Log.d(TAG, "in SM segment " + segment.getId() + " nodes: " );
for (int x=0; x<segment.getNodeIds().size(); x++) {
Log.d(TAG, " " + segment.getNodeIds().get(x));
}
break;
}
else if ((getAngle(myTrip.getTripItem(i), myTrip.getTripItem(i+1), myTrip.getTripItem(i+2),cn) < 25) &&
(getAngle(myTrip.getTripItem(i), myTrip.getTripItem(i+1), myTrip.getTripItem(i+2),cn) > -25))
{
segmentNodes.add(myTrip.getTripItem(i));
}
else {
segmentNodes.add(myTrip.getTripItem(i));
Segment segment = new Segment();
segment.setId(count);
segment.setNodeIds(segmentNodes);
Log.d(ONE, "in SM segment " + segment.getId() + " nodes: " + segment.getNodeIds().toString());
segments.add(segment);
segmentNodes.clear();
count++;
}
}
Log.d(TWO, " segments SM ende: " + segments.get(0).getNodeIds().size());
return segments;
}
public float getAngle(int firstItem, int secondItem, int thirdItem, CustomNodes cn){
//do some stuff
return angle;
}
}
申し訳ありませんが、読むのは大変です。私がやろうとしているのは、セグメントには ID と NodeID の ArrayList があるということです。getAngle-check を通過しなくなるまですべての NodeID を収集し、次のセグメントに進みます。
ONE タグを使用して Log.d を実行すると、すべての NodeID がセグメント内にあります。TWO タグを使用して Log.d を実行すると、NodeID の ArrayList は空になります。セグメント ArrayList を返すと、その中のセグメントは (ID を持って) そこにありますが、すべてのセグメントの NodeID-ArrayLists は空です。コンテンツはどこで失われますか? 私はこれに夢中になります。