使用cn1 toolBar后无法使用Android native back命令

时间:2016-01-05 14:35:33

标签: java codenameone

我有一个Android本机后退命令的问题,在添加代号为one toolBar后停止工作。 我应该将toolBar更改为其他组件吗? 下面是一段代码:

    homeToolBar = new Toolbar(false);
    int ScreenWidth = Display.getInstance().getDisplayWidth();
    centerCnt.setWidth(ScreenWidth - 2 * ExitCommand.getIcon().getWidth());
    centerCnt.setLayout(new BorderLayout());
    centerCnt.addComponent(BorderLayout.CENTER,btnLogo);
    currentForm.setToolBar(homeToolBar);
    currentForm.addCommand(SideLogoCommand);
    homeToolBar.addCommandToSideMenu(MenuCommand);
    homeToolBar.setTitleComponent(centerCnt);
    homeToolBar.addCommandToRightBar(ExitCommand);
    Command BackCMD = new Command("Back") {
                    @Override
                    public void actionPerformed(ActionEvent evt) {
                        System.out.println("Back"); 
                    }
                };
    currentForm.setBackCommand(BackCMD);

1 个答案:

答案 0 :(得分:1)

当然,你可以,从今天here查看类似的问题。

作为代码的修复,请执行以下操作:

homeToolBar = new Toolbar(false);
int ScreenWidth = Display.getInstance().getDisplayWidth();
centerCnt.setWidth(ScreenWidth - 2 * ExitCommand.getIcon().getWidth());
centerCnt.setLayout(new BorderLayout());
centerCnt.addComponent(BorderLayout.CENTER,btnLogo);
currentForm.setToolBar(homeToolBar);
currentForm.addCommand(SideLogoCommand);
homeToolBar.addCommandToSideMenu(MenuCommand);
homeToolBar.setTitleComponent(centerCnt);
homeToolBar.addCommandToRightBar(ExitCommand);
Command BackCMD = new Command("Back") {
    @Override
    public void actionPerformed(ActionEvent evt) {
        System.out.println("Back"); 
    }
};
BackCMD.putClientProperty("uiid", "BackCommand");
currentForm.setBackCommand(BackCMD);
homeToolBar.addCommandToLeftBar(BackCMD);

另外,请阅读有关Java命名约定here的内容,以了解如何编写简洁易读的代码。