findByName NullPointerException

时间:2013-02-19 23:49:45

标签: java nullpointerexception codenameone

以下Codesnipplet会抛出。它由findByName方法抛出。看起来无法找到PlayerComponentGroupList,但我不知道为什么。

我如何参考生成的

protected void beforeMain(Form f) {
    super.beforeMain(f);
    try {
        findPlayerComponentGroup(f).addComponent(getItems("Player"));
    } catch (IOException ex) {
        throw new RuntimeException(ex.getMessage());
    }

}

private Container getItems(String order) throws IOException {
...
final Container rows = new ComponentGroup();
...
rows.setName("PlayerComponentGroupList");
    return rows;
}

protected void onMain_PlayerContainerButtonSortNameAction(Component c, ActionEvent event) {
    super.onMain_PlayerContainerButtonSortNameAction(c, event);
    try {
        findPlayerComponentGroup().removeComponent(findByName("PlayerComponentGroupList", Display.getInstance().getCurrent())));
...
}

1 个答案:

答案 0 :(得分:0)

findByName()不起作用。它只适用于GUI构建器创建的组件,因此非常快(否则它必须递归搜索非常慢的组件树)。

您需要保留指向组件的指针并将其删除。