为了账号安全,请及时绑定邮箱和手机立即绑定

这个方法存在严重问题

public static <T> List<Node> convertDatas2Nodes(List<T> datas)

throws IllegalArgumentException, IllegalAccessException

{

List<Node> nodes = new ArrayList<Node>();

Node node = null;

for (T t : datas)

{

int id = -1;

int pid = -1;

String label = null;


node = new Node();

Class clazz = t.getClass();

Field[] fields = clazz.getDeclaredFields();

for (Field field : fields)

{

if (field.getAnnotation(TreeNodeId.class) != null)

{

field.setAccessible(true);

id = field.getInt(t);

}

if (field.getAnnotation(TreeNodePid.class) != null)

{

field.setAccessible(true);

pid = field.getInt(t);

}

if (field.getAnnotation(TreeNodeLabel.class) != null)

{

field.setAccessible(true);

label = (String) field.get(t);

}

}

node = new Node(id, pid, label);

nodes.add(node);

}// for end

Log.e("TAG", nodes+"");


/**

* 设置Node间的节点关系

*/

for (int i = 0; i < nodes.size(); i++)

{

Node n = nodes.get(i);


for (int j = i + 1; j < nodes.size(); j++)

{

Node m = nodes.get(j);


if (m.getpId() == n.getId())

{

n.getChildren().add(m);

m.setParent(n);

} else if (m.getId() == n.getpId())

{

m.getChildren().add(n);

n.setParent(m);

}

}

}


for (Node n : nodes)

{

setNodeIcon(n);

}

return nodes;

}


正在回答

1 回答

哪有问题?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android自定义任意层级树形控件
  • 参与学习       25846    人
  • 解答问题       34    个

使用ListView制作Android树状图,加深ListView适配器理解

进入课程

这个方法存在严重问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信