我正在制作我的第一个android应用程序,当我按下“后退”按钮时,它关闭了该应用程序,而不是返回上一个活动。有谁知道我该如何解决?
谢谢
这是我的“ 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
活动中,您称为Acties
活动。然后在Acties
中按回去,应用程序关闭。对?
理想情况是,当您按回时,应该从Acties
转到Hoofdscherm
,但是由于您正在finish();
活动中调用Hoofdscherm
,因此它不再存在。因此,您的应用程序退出。
如果要从Hoofdscherm
返回到Acties
,请在“ finish()
活动”中删除Hoofdscherm
调用。
编辑:
Here's a bit more关于finish()
。
切记-仅在要关闭活动时才调用finish()
,如果要返回到该活动,请勿调用finish()
。
关于java - Android后退按钮不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10967956/