属性值更改时更新CodenameOne侧菜单命令
我希望能够根据动态更新的ListProperty的大小更改侧菜单命令的标题。我曾试图通过changeListener来实现这一点,但我无法实现这一点属性值更改时更新CodenameOne侧菜单命令,codenameone,Codenameone,我希望能够根据动态更新的ListProperty的大小更改侧菜单命令的标题。我曾试图通过changeListener来实现这一点,但我无法实现这一点 Command cmdWishlist = tb.addMaterialCommandToRightSideMenu("Wishlist(" + Shop.getInstance().wishList.size() + ")", FontImage.MATERIAL_FAVORITE, e -> { .... });
Command cmdWishlist = tb.addMaterialCommandToRightSideMenu("Wishlist(" + Shop.getInstance().wishList.size() + ")", FontImage.MATERIAL_FAVORITE, e -> {
....
});
Shop.getInstance().wishList.addChangeListener(pl -> {
tb.revalidate();
});
然而,如果我打开另一个表单,并检查侧菜单,我需要的更改就是反射。我怎样才能让它工作?顺便说一句,如果我在工具栏上放置一个标签,然后在更改侦听器中setText(“Wishlist”(+Shop.getInstance().Wishlist.size()+)
,我就会得到所需的行为
请给我指出正确的方向当我们将命令添加到侧菜单或按钮时,我们提取其值,但不会自动反映更新,因为这可能会通过将命令绑定到组件而导致潜在内存泄漏。解决方法是修改原始基础组件,例如:
Button ui = tb.findCommandComponent(cmd);
ui.setText(newLabelForCommand);