Массив в узел просмотра дерева

#android #arrays #treeview

#Android #массивы #просмотр дерева

Вопрос:

у меня есть ArrayList<String> Array1 и я хочу добавить в свой treeview

 List<TreeNode> nodes = new ArrayList<>();
        TreeNode<Dir> app = new TreeNode<>(new Dir("app"));
        nodes.add(app);
        app.addChild(
                new TreeNode<>(new Dir("AA01")));
        app.addChild(
                new TreeNode<>(new Dir("AA02")));
        app.addChild(
                new TreeNode<>(new Dir("AA03")));
  

но это вручную, я пытаюсь так

 List<TreeNode> nodes = new ArrayList<>();
        TreeNode<Dir> app = new TreeNode<>(new Dir("app"));
        nodes.add(app);
        app.addChild(
                new TreeNode<>(new Dir(Array1)));
  

но ошибка

эта ошибка

как добавить мой массив в мой код без ошибок, Array1 = [AA01, AA02, AA03]

Комментарии:

1. Пожалуйста, добавьте трассировку стека ошибок.

Ответ №1:

Вы предоставляете строку в качестве аргумента для конструктора Dir, когда на самом деле он должен получать массив строк.

Ответ №2:

Как сказал Androidz, вы указали неправильный тип аргумента. Вы предоставляете массив строк вместо простой строки.

Вы не можете этого сделать. Если вы не хотите добавлять их вручную, вам придется перебирать массив.

 //loop Array1 and get all the strings 1 by 1
for(String s : Array1) {
    //add the string to the node
    app.addChild(new TreeNode<>(new Dir(s)));
}
  

Комментарии:

1. ваш массив Array1 не инициализирован. Вы должны поместить значения внутрь, прежде чем сможете выполнить цикл.