父节点或子节点的黑莓树字段?(Parent Node or Child Node in Blackb

2019-10-18 09:49发布

我需要在黑莓遍历树字段。 我需要知道如何从现有的节点是否是父节点或子节点检查? 因为我需要为子行和父行不同行的颜色

我已经提到定制TreeField的前一个问题在下面的链接看到

定制黑莓Treefield

Answer 1:

它看起来像你已经在使用TreeFieldCallback来定制你的树领域的绘画。 您可以检测父与子节点在这里drawTreeItem() 。

但是,我们必须清楚了解您认为什么是“父”与“子”,因为在技术上,它可能将行既是父母和孩子,如果树有2倍以上的水平(除了根水平)。


如果“孩子” ==“叶子”节点

采用:

public void drawTreeItem(TreeField treeField, Graphics graphics, int node, int y, int width, int indent)  {

    boolean isChild = treeField.getFirstChild(node) == -1;
    if (isChild) {
        // draw child row color
    } else { 
        // draw parent row color
    }
} 

假设你的“孩子”的意思是,有没有自己的孩子多一排(也称为“叶”节点)。


如果“孩子” ==“非根父”

如果考虑同时具有其自身的非根父它自己的孩子成为一个“子”行一个节点,然后使用这个逻辑:

public void drawTreeItem(TreeField treeField, Graphics graphics, int node, int y, int width, int indent)  {

    boolean isParent = treeField.getParent(node) == 0;
    if (isParent) {
        // draw parent row color
    } else { 
        // draw child row color
    }
}

第二个实现将仅是直接在根节点下的“父母”色彩行。



文章来源: Parent Node or Child Node in Blackberry Tree Field?