代号为One的Toolbar.getBackButton

时间:2019-04-12 14:02:08

标签: codenameone

要在使用.getToolbar().setBackCommand(...)创建BackButton之后对其进行操作,我需要获取它,因此我创建了以下代码:

public static final boolean isAndroidTheme = UIManager.getInstance().isThemeConstant("textComponentOnTopBool", false);
if (isAndroidTheme) {
  originalBackButton = this.getToolbar().getComponentAt(1);
} else {
  originalBackButton = this.getToolbar().getComponentAt(2);
} 

它有效,但是我担心它的可靠性。有可能做得更好,或者这段代码是否还可以?

1 个答案:

答案 0 :(得分:1)

setBackCommand要么返回如下命令:

public Command setBackCommand(String title, ActionListener<ActionEvent> listener)

或接受Command作为方法的参数。获得命令后,您可以使用Button b = toolbar.findCommandComponent(cmd);找到适用的组件。