【问题标题】:How to add conditionally a `Button` to a `Toolbar` `Form` `Component`?如何有条件地将“按钮”添加到“工具栏”“表单”“组件”?
【发布时间】:2021-09-25 08:45:34
【问题描述】:

我创建了一个Form,它被设置为我正在开发的移动应用程序的Toolbar Component。 我想有条件地向它添加一个Button,这取决于要添加到哪个Form 屏幕上的Toolbar。 我尝试了以下但不起作用: if(aForm.getTitle().equals("Target Form Screen's Title")) aFormForm 当前正在添加的 Toolbar。它应该在Form 标题与目标Form 屏幕匹配时触发条件。

【问题讨论】:

  • 有几种方法可以实现它。你的表单在这两种情况下是否相同,而按钮只是不同?
  • @fnklstn 想象一个游戏界面,如果满足某个条件,那么我们将退出到带有结果的最终屏幕。只有这样,我希望“设置”ToolbarForm 也添加一个Button 以导航到初始的“主”屏幕。在条件语句的检查中使用什么术语比较好?
  • 您可以设置首选项。例如,如果满足某个条件,则执行Preferences.set("LevelCompleted", true);。然后查看if(Preferences.get("LevelCompleted", false)){//add your new button}
  • 你@fnklstn 提出了一个有效的建议。但是,从我的角度来看,它比 Shai 下面建议的复杂性增加了一点。

标签: codenameone


【解决方案1】:

您可以通过这种方式与标题进行比较,它可以工作,但通常将 UI 和特定字符串与状态分开是一种很好的做法。所以你应该有一个单独的类来控制应用程序状态并决定应该添加什么。

如果您需要 UI 中的某些状态,可以使用 putClientPropertygetClientProperty

【讨论】:

  • 我会试试@Shai。实现起来似乎很简单。 PS。我知道关注点的分离。我正在尝试实现它。
猜你喜欢
  • 2016-07-21
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多