获取子节点的代码如下
// 子节点
public static List<TrainingUnit> childUnit = new ArrayList<TrainingUnit>();
/**
* 获取某个父节点下面的所有子节点
*
* @param TrainingUnits
* @param parentId
* @return
*/
public static List<TrainingUnit> treeTrainingUnit(List<TrainingUnit> mTrainingUnits, int parentId) {
for (TrainingUnit trainingUnit : mTrainingUnits) {
// 遍历出父id等于参数的id,添加进子节点集合
if (Integer.valueOf(trainingUnit.getParentId()) == parentId) {
// 递归遍历下一级
treeTrainingUnit(mTrainingUnits, trainingUnit.getTrainingunitId());
childUnit.add(trainingUnit);
}
}
return childUnit;
}
另外需要注意的地方是,如果需要当前节点的话,初始的时候要add进去.并且每次使用该方法的时候需要初始化childUnit,不然会保留上次的数据