在一个具有代号的应用程序中,我们如何从本机(设备上的硬件后退按钮)建立后退命令,以返回到先前的形式? 大多数android都有一个本机的后退按钮,但是当我在应用程序中按它时,它不会以以前的形式出现,因此会最小化该应用程序。 我已经尝试通过.res文件中的常量,但没有找到相关的选项。 (带红色下划线的按钮,在此图像的左下方)
添加:使用新的GUI构建器创建所有表单。
答案 0 :(得分:2)
我也在努力使用back命令,这是它的工作方式(我认为):
假设您拥有FormA和FormB。从FormA启动FormB,然后在FormB中按“后退”按钮,FormA会显示回来。
要执行此操作:在FormA中,声明以下命令:
Command back = new Command("Back") {
@Override
public void actionPerformed(ActionEvent evt) {
showBack();
}
};
仍然在FormA中,按钮的actionEvent中或启动FormB的其他事件中:
public void onFormActionEvent(com.codename1.ui.events.ActionEvent ev) {
Form formB = new FormB();
formB.getToolbar().setBackCommand(back);
formB.setBackCommand(back);
formB.show();
}
它对我有用,这是我设法运行back命令的唯一方法。
答案 1 :(得分:1)
如果您使用类似的东西:
myForm.getToolbar().setBackCommand("", e -> showPreviousForm());
通过将箭头隐式放置在左上角并处理物理上的后退按钮,可以正常工作。
如果您只想在具有该按钮的设备上使用物理后退按钮,则可以使用:
myForm.setBackCommand(new Command("") {
public void actionPerformed(ActionEvent ev) {
showPreviousForm();
}
});
注意,我指的是硬按钮,因为它在应用程序中的外观与底部的屏幕后退按钮相同。
答案 2 :(得分:1)
尝试
例如 这是您自己的按钮
button.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View view) {
onBackPressed();
} });
此使用设备后退按钮
@Override
public void onBackPressed() {
finish();
}
使用您自己的按钮
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});