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