java - 安卓后退按钮不起作用

标签 java android

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

相关文章:

android - android中的圆形渐变

android - 第一次在 GridView 中拖放时缺少 ImageView 源

android - java.lang.SecurityException : Not allowed to start service Intent 错误

Eclipse 中的 java.lang.NoClassDefFoundError,但 Ant 中没有

java - 当 main(String[] args) 是一个方法时,为什么编译器会说 "main class could not be found or loaded"?

java - 通过 Hibernate 检索 Oracle 序列

java - JSpinner 更新

android - 容器卡在应用程序 header 后面 (Android)

java - 如何将名称/值对添加到 JSONArray

android - 从android中的视频中提取位图