Java 机器人后退按钮不起作用

Java 机器人后退按钮不起作用,java,android,Java,Android,我正在制作我的第一个android应用程序,当我按下后退按钮时,它会关闭应用程序,而不是返回到上一个活动。有人知道我如何解决这个问题吗 谢谢 这是我的“Hoofdscherm”页面,从这里你可以进入“Acties”页面 这是“活动”页面 您可以通过覆盖活动中的onKeyDown方法来覆盖按钮的行为,并使用简单的if语句来确定按下的键是否是back键 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (

我正在制作我的第一个android应用程序,当我按下后退按钮时,它会关闭应用程序,而不是返回到上一个活动。有人知道我如何解决这个问题吗

谢谢

这是我的“Hoofdscherm”页面,从这里你可以进入“Acties”页面

这是“活动”页面


您可以通过覆盖活动中的onKeyDown方法来覆盖按钮的行为,并使用简单的if语句来确定按下的键是否是back键

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK)) {
        // your code here
        return true;
    else return false 
    return super.onKeyDown(keyCode, event);
}
在语句中只需编写调用其他活动的代码


编辑我看到您添加了代码,您在调用第二个活动后调用了finish(),这将终止您的第一个活动,或者删除finish(),或者通过第二个活动的意图调用第一个活动。

从您的
Hoofdscherm
活动中调用您的
活动
活动。然后在
活动中
按后退,应用程序关闭。对吧?

理想情况下,当您按下back键时,它应该从
活动转到
Hoofdscherm
,但由于您正在调用
finish()
在您的
Hoofdscherm
活动中,它不再存在。因此,您的应用程序将退出

如果要从
Acties
返回
Hoofdscherm
,请删除
Hoofdscherm
活动中的
finish()
调用

编辑:

关于
finish()
。 请记住-只有在您想关闭活动时才调用
finish()
,如果您想返回活动,请不要调用
finish()

这是您的解决方案

删除
finish()
方法

b.setOnClickListener(new OnClickListener(){

            public void onClick(View v) {

                Intent in = new Intent(Hoofdscherm.this,Acties.class);

                startActivity(in);

            finish(); // Remove this..and it will work as you want it to
        }
    });

finish() method avoids storing of the activity on the Back Stack

在你发布一些代码之前很难判断问题。发布你的代码…………这种行为不是内置的。您是否为KeyCode4制作了OnKeyListener(我认为“back”是4)?这就是你在单击硬件键时告诉应用程序要做什么的方式,即开始新的(以前的)活动。请始终记住将代码与问题一起发布。这样回答很容易,你也不会被否决。:-)
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK)) {
        // your code here
        return true;
    else return false 
    return super.onKeyDown(keyCode, event);
}
b.setOnClickListener(new OnClickListener(){

            public void onClick(View v) {

                Intent in = new Intent(Hoofdscherm.this,Acties.class);

                startActivity(in);

            finish(); // Remove this..and it will work as you want it to
        }
    });

finish() method avoids storing of the activity on the Back Stack