我正在制作我的第一个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/

10-11 00:11