我只是尝试在我的应用中实现后退功能。我在[CodeNameOne Dynamically created Form, how to "Back":
中尝试了这个例子Command back = new Command("Back") {
public void actionPerformed(ActionEvent ev) {
// notice that when showing a previous form it is best to use showBack() so the
// transition runs in reverse
showPreviousForm();
}
};
f.setBackCommand(back);
我添加了一些日志消息,以查看按钮是否被按下。 在模拟器中,按下软后退按钮后,根本没有任何事情发生(模拟器中的软后退按钮是否正常工作?)。
在我的智能手机上,按下软按钮后,应用程序将移至后台,并显示Android的主屏幕。在我的日志文件中,我可以看到从未调用过动作侦听器。我根据上面列出的代码修改了代码如下(我添加了一些try-catches以查看是否有异常):
Command back = null;
try {
Log.p("addTask(): " + "Creating back command...");
back = new Command("Back") {
public void actionPerformed(ActionEvent ev) {
Log.p("addTask(): " + "Back button pressed!");
}
};
} catch (Exception e) {
Log.p("addTask(): " + e.toString());
}
try {
if (back != null) {
Log.p("addTask(): " + "Setting back command...");
newForm.setBackCommand(back);
Log.p("addTask(): " + "Back command set.");
} else {
Log.p("addTask(): " + "Back not set because back == null.");
}
} catch (Exception e) {
Log.p("addTask(): " + e.toString());
}
有任何帮助吗?
(顺便说一句:如何捕捉音量增/减事件?)
答案 0 :(得分:0)
在模拟器上逃生模拟后退按钮,它应该在显示表单之前正常工作但是我猜测有些东西会用另一个后退按钮覆盖该代码?
如果这是一个旧的GUI构建器应用程序,那么它可能正在这样做。