【发布时间】:2018-07-19 12:29:58
【问题描述】:
显示表单时,我需要以编程方式在搜索栏中开始编辑。因为我没有找到任何 API,所以我在 Form 中编写了这段代码:
addShowListener(l -> {
for (int i = 0; i <= getToolbar().getComponentCount(); i++) {
if (getToolbar().getComponentAt(i) instanceof Button) {
Button btn = (Button) getToolbar().getComponentAt(i);
if (btn.getUIID().equals("TitleCommand")) {
btn.pressed();
btn.released();
}
if (btn.getUIID().equals("BackCommand")) {
btn.addActionListener(ev -> {
backForm.showBack();
});
}
}
}
});
这段代码的问题:
- 它依赖于方法
Form.getToolbar().addSearchCommand的当前实现,该方法在工具栏中创建了一个UIID为TitleCommand的按钮(右侧的搜索图标)和另一个UIID为BackButton的按钮(左侧的箭头)。 - 我添加到后退按钮的监听器不起作用:它没有显示
backForm,而是显示没有搜索栏的工具栏。
所以...我的问题是如何通过更好的编码来实现我所需要的。是否有必要进行 RFE 来公开像 Toolbar.startSearchEditingAsync() 这样的 API?以及如何更改backButton的默认actionListener?
【问题讨论】:
标签: codenameone