我正在使用GWT应用程序,并且正在使用com.google.gwt.user.client.ui.Tree;com.google.gwt.user.client.ui.TreeItem;小部件来显示我的RPC方法中的所有GwtDomain对象。每个GwtDomain都有一些GwtActions值(在大多数情况下都是读取,写入,删除,但并非在每种情况下)。这是我找到所有GwtDomain的方法,在他的onSuccess方法中,我正在寻找该GwtDomain的所有GwtAction:

     GWT_DOMAIN_SERVICE.findAll(new AsyncCallback<List<GwtDomain>>() {

                @Override
                public void onFailure(Throwable caught) {
                    exitMessage = MSGS.dialogAddPermissionErrorDomains(caught.getLocalizedMessage());
                    exitStatus = false;
                    hide();
                }

                @Override
                public void onSuccess(List<GwtDomain> result) {



                    for (final GwtDomain gwtDomain : result) {
                        GWT_DOMAIN_SERVICE.findActionsByDomainName(gwtDomain.name(), new AsyncCallback<List<GwtAction>>() {

                            @Override
                            public void onFailure(Throwable caught) {
                                exitMessage = MSGS.dialogAddPermissionErrorActions(caught.getLocalizedMessage());
                                exitStatus = false;
                                hide();
                            }

                            @Override
                            public void onSuccess(List<GwtAction> result) {

                                for (GwtAction gwtAction : result) {
                                rootCheckBox= new CheckBox();
                                rootCheckBox.setBoxLabel(gwtDomain.toString());
                                    treeItemCheckox = new CheckBox();

                                    rootTreeItem = new TreeItem(rootCheckBox);
                                    treeItem =  new TreeItem(treeItemCheckox);
                                    treeItemCheckox.setBoxLabel(gwtAction.toString());
                                    rootTreeItem.addItem(treeItem);

                                }
                                tree.addItem(rootTreeItem);

   }
                    });

}


但是使用此代码,我总是从GwtAction中获得一个值,而不是所有值(在大多数情况下,每个treeItem2应该为3个值)。有人可以帮我吗?

最佳答案

这是正常的。代码tree.addItem(rootTreeItem);在for循环之外。
它一定在里面!
问候

08-03 17:51