Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用arraylist中的循环创建对象名称_Java_Android_Loops_Treeview - Fatal编程技术网

Java 使用arraylist中的循环创建对象名称

Java 使用arraylist中的循环创建对象名称,java,android,loops,treeview,Java,Android,Loops,Treeview,我正在寻找在我的应用程序中包装TreeView的东西,但我无法使用循环创建节点对象 我只想动态创建一个对象名,我可以在我的树视图中使用它 这是我在应用程序中使用的库。 也许您应该重写方法getNodeText,因为您想传递参数。或者不要像getNodeTexti那样传递参数,因为这个方法已经有了计数器 private String getNodeText() { return "Node " + nodeCount++; } 我的感觉是你应该在这里使用一些收藏。考虑以下事项: fin

我正在寻找在我的应用程序中包装TreeView的东西,但我无法使用循环创建节点对象

我只想动态创建一个对象名,我可以在我的树视图中使用它

这是我在应用程序中使用的库。


也许您应该重写方法getNodeText,因为您想传递参数。或者不要像getNodeTexti那样传递参数,因为这个方法已经有了计数器

private String getNodeText() {
    return "Node " + nodeCount++;
}

我的感觉是你应该在这里使用一些收藏。考虑以下事项:

final List<Node> allNodes = new ArrayList<>();
for (int i=0; i < arrId.size(); i++) {
    Node node = new Node(getNodeText(i));
    allNodes.add(node);
}

这里的想法是,您不应该试图自己对变量进行编号。大多数时候,当您有这种需要时,您应该使用集合。大多数列表实现都有一个内置计数器,可用于对元素进行编号。

您想对节点i做什么?@user7294900没有它,我无法动态创建TreeView如何显示足够的代码,以便清楚地了解这些for循环对您的问题的影响。谢谢。但我想使用来自数据库的“id”,所以尝试@Override getNodeText函数到getNodeTextdatabaseId,从数据库传递id参数,并返回Node+databaseId;而不是Node+nodeCount++;不,它只是一个显示在节点上的文本。我想动态创建节点对象。嘿,你们能帮我更多的忙吗?因为数据库中有两列,一列表示“id”,另一列表示“parentId”。我希望第一个“graph.addEdge”参数是“parentId”,另一个参数是“id”。您的代码可以工作,但对我来说,我希望节点具有“id”,以便可以与我的“parentId”匹配
 final Graph graph = new Graph();
    final Node node1 = new Node(getNodeText());
    final Node node2 = new Node(getNodeText());
    final Node node3 = new Node(getNodeText());
    final Node node4 = new Node(getNodeText());
    final Node node5 = new Node(getNodeText());
    final Node node6 = new Node(getNodeText());
    final Node node8 = new Node(getNodeText());
    final Node node7 = new Node(getNodeText());
    final Node node9 = new Node(getNodeText());
    final Node node10 = new Node(getNodeText());
    final Node node11 = new Node(getNodeText());
    final Node node12 = new Node(getNodeText());

    graph.addEdge(node1, node2);
    graph.addEdge(node1, node3);
    graph.addEdge(node1, node4);
    graph.addEdge(node2, node5);
    graph.addEdge(node2, node6);
    graph.addEdge(node6, node7);
    graph.addEdge(node6, node8);
    graph.addEdge(node4, node9);
    graph.addEdge(node4, node10);
    graph.addEdge(node4, node11);
    graph.addEdge(node11, node12);
private String getNodeText() {
    return "Node " + nodeCount++;
}
final List<Node> allNodes = new ArrayList<>();
for (int i=0; i < arrId.size(); i++) {
    Node node = new Node(getNodeText(i));
    allNodes.add(node);
}
final Graph graph = new Graph();
graph.addEdge(node.get(0), node.get(1));
graph.addEdge(node.get(0), node.get(2));
graph.addEdge(node.get(0), node.get(3));
graph.addEdge(node.get(1), node.get(4));
graph.addEdge(node.get(1), node.get(5));
graph.addEdge(node.get(5), node.get(6));
graph.addEdge(node.get(5), node.get(7));
graph.addEdge(node.get(3), node.get(8));
graph.addEdge(node.get(3), node.get(9));
graph.addEdge(node.get(3), node.get(10));
graph.addEdge(node.get(10), node.get(11));