代码之家  ›  专栏  ›  技术社区  ›  lapots

将层次容器中的行移到其同级下

  •  0
  • lapots  · 技术社区  · 6 年前

    我有一个 hierachicalContainer 我有一个id为的父节点 29 并且有多个子节点具有ID 30 , 47 , 54

    基本上是这样的

    parent_element (29)
        child_element_1 (30)
        child_element_2 (47)
        child_element_3 (54)
    

    我想点击按钮并移动元素 child_element_1 child_element_3

    parent_element
        child_element_2
        child_element_3
        child_element_1
    

    在我的按钮中 click listener 我是这样做的

    Object tableItemId // child_element_1
    Object parentId = hierachicalContainer.getParent(tableItemId);
    List<?> relativesIds = new ArrayList<>(Optional.ofNullable(hierarchicalContainer.getChildren(parentId)).orElse(Collections.emptyList()));
    Object previousItemId = null;
    for (Object tableItemIdRel : relativesIds) {
        if (tableItemIdRel != tableItemId) {
            previousItemId = tableItemIdRel;
        }
    }
    hierarchicalContainer.moveAfterSibling(tableItemId, previousItemId);
    

    但它什么也没做。UI上的元素保留在原来的位置。

    0 回复  |  直到 6 年前