必须按两次后退按钮

Have to press Back button two times

我正在尝试在 activity 上实现简单的 back button 以转到上一个 activity,但是当我调用方法 finish() 时发生了一些奇怪的行为 -问题是我必须按两次 back 按钮?为什么会这样?在后面的方法中我只有 finish()。在没有 instantiate 一个全新的 Intent 的情况下转到以前保存的 activity 的另一种方法是什么?

  public void back1 (View view){
    this.finish();
    }

这是第二次尝试,结果相同:

 ImageButton buttonback = (ImageButton) findViewById(R.id.imageButton6);

    buttonback.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            onBackPressed();
        }
    });
 @Override
    public void onBackPressed() {
        super.onBackPressed();
    }

将其添加到您的代码中,超级调用会关闭 activity 无需调用 finish()

如果您只是想让设备后退按钮起作用,您不需要重写 Activity 中的 onBackPressed 方法

如果您想在视图中放置一个自定义按钮并将返回操作设置为该按钮,那么您需要将按钮点击监听器写入相同的

    backbutton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            finish();
        }
});

您很可能开始 activity 两次。

后退的时候完成了一个,另一个在前。检查您的 onCreate 和 onResume 是否有任何可能正在使用意图或启动任何 activity