我正在制作我的第一个 Android 应用程序,当我按下后退按钮时,它会关闭应用程序,而不是返回到上一个 Activity 。有谁知道我该如何解决这个问题?
谢谢
这是我的“Hoofdscherm”页面,从这里您可以转到“Acties”页面
package com.WNF;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
public class Hoofdscherm extends Activity {
// aanroepen van een bundle, kan je elke naam geven die je maar wilt,
//zolang de bundle als de onCreate maar dezelfde naam hebben
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// de setContentView is niets meer dan de gegevens van de
//View ophalen uit de R.layout.naamvandeXML
// Onthoud goed dat je dezelfde XMLs voor meerdere pagina's
//kan gebruiken.
setContentView(R.layout.hoofdscherm);
Button b = (Button) findViewById(R.id.button1);
ImageButton i = (ImageButton) findViewById(R.id.imageButton1);
b.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
Intent in = new Intent(Hoofdscherm.this,Acties.class);
startActivity(in);
finish(); //deze activity wordt gestopt
}
});
i.setOnClickListener(new OnClickListener(){
public void onClick(View g){
Intent ib = new Intent(Hoofdscherm.this,Acties.class);
startActivity(ib);
finish();
}
});
}
}
这是“Acties”页面
package com.WNF;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
public class Acties extends Activity{
// aanroepen van een bundle, kan je elke naam geven die je maar wilt,
//zolang de bundle als de onCreate maar dezelfde naam hebben
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// de setContentView is niets meer dan de gegevens van de
//View ophalen uit de R.layout.naamvandeXML
// Onthoud goed dat je dezelfde XMLs voor meerdere pagina's
//kan gebruiken.
setContentView(R.layout.acties1);
getIntent();
}
}
最佳答案
从您的 Hoofdscherm
Activity 中调用您的 Acties
Activity。然后在 Acties
中按返回键,应用程序就会关闭。对吗?
理想情况下,当您按回键时,发生的情况是来自 Acties
,它应该转到 Hoofdscherm
,但由于您正在调用 finish();
在您的 Hoofdscherm
Activity 中,它不再存在。因此您的应用程序退出。
如果您想从 Acties
返回到 Hoofdscherm
,请删除 Hoofdscherm
中的 finish()
调用> Activity 。
编辑:
Here's a bit more关于finish()
。
请记住 - 仅当您想要关闭 Activity 时才调用 finish()
,如果您想返回到 Activity,请不要调用 finish()
。
关于java - 安卓后退按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10967956/