public BusSegmentListAdapter(Context c, List<BusStep> l) { context = c; SchemeBusStep start = new SchemeBusStep(null); start.setStart(true); busStepList.add(start); for (BusStep busStep : l) { if (busStep.getWalk() != null && busStep.getWalk().getDistance() > 0) { SchemeBusStep walk = new SchemeBusStep(busStep); walk.setWalk(true); busStepList.add(walk); } if (busStep.getBusLine() != null) { SchemeBusStep bus = new SchemeBusStep(busStep); bus.setBus(true); busStepList.add(bus); } if (busStep.getRailway() != null) { SchemeBusStep rail = new SchemeBusStep(busStep); rail.setRailway(true); busStepList.add(rail); } if (busStep.getTaxi() != null) { SchemeBusStep taxi = new SchemeBusStep(busStep); taxi.setTaxi(true); busStepList.add(taxi); } } SchemeBusStep end = new SchemeBusStep(null); end.setEnd(true); busStepList.add(end); }