Java Android后退按钮工作不正常

Java Android后退按钮工作不正常,java,android,android-studio,back,Java,Android,Android Studio,Back,当我按下手机上的“后退”按钮时,它会按预期打开暂停活动,但也会转到上一个活动(我可以看到这一点,因为暂停活动的样式是Theme.AppCompat.Dialog。我想要的是只打开暂停活动,但在回圈中是当前活动,而不是上一个活动。代码: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.a

当我按下手机上的“后退”按钮时,它会按预期打开暂停活动,但也会转到上一个活动(我可以看到这一点,因为暂停活动的样式是Theme.AppCompat.Dialog。我想要的是只打开暂停活动,但在回圈中是当前活动,而不是上一个活动。代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_timer_2);
    //...
}

//...

@Override
public void onBackPressed()
{
    super.onBackPressed();
    startActivity(new Intent(timer_2.this, timer_2_pause.class));
    finish();

}

这是因为您正在调用finish()来关闭当前活动。
删除finish(),它将不会关闭当前活动。

这是因为您正在调用finish()来关闭当前活动。
删除finish(),它将不会关闭当前活动。

您应该像这样使用onBackPress():

@Override
public void onBackPressed()
{
   // super.onBackPressed();
   // finish();
    startActivity(new Intent(timer_2.this, timer_2_pause.class));


}

您应该像这样使用
onBackPress()

@Override
public void onBackPressed()
{
   // super.onBackPressed();
   // finish();
    startActivity(new Intent(timer_2.this, timer_2_pause.class));


}
用这个

@Override
public void onBackPressed()
{
     //super.onBackPressed(); dont use this..
     finish();
     startActivity(new Intent(timer_2.this, timer_2_pause.class));


  }
用这个

@Override
public void onBackPressed()
{
     //super.onBackPressed(); dont use this..
     finish();
     startActivity(new Intent(timer_2.this, timer_2_pause.class));


  }
试试这个:

@Override
public void onBackPressed() {
    Intent i=new Intent(timer_2.this,timer_2_pause.class);
    startActivity(i);
    finish();
    super.onBackPressed();
}
试试这个:

@Override
public void onBackPressed() {
    Intent i=new Intent(timer_2.this,timer_2_pause.class);
    startActivity(i);
    finish();
    super.onBackPressed();
}

如果您希望终止以前的活动,请使用以下命令:

@Override
public void onBackPressed()
{
    startActivity(new Intent(timer_2.this, timer_2_pause.class));
    finish();
}
@Override
public void onBackPressed()
{
    startActivity(new Intent(timer_2.this, timer_2_pause.class));
}
如果要将该活动保留在后堆栈中,请使用以下命令:

@Override
public void onBackPressed()
{
    startActivity(new Intent(timer_2.this, timer_2_pause.class));
    finish();
}
@Override
public void onBackPressed()
{
    startActivity(new Intent(timer_2.this, timer_2_pause.class));
}

如果您希望终止以前的活动,请使用以下命令:

@Override
public void onBackPressed()
{
    startActivity(new Intent(timer_2.this, timer_2_pause.class));
    finish();
}
@Override
public void onBackPressed()
{
    startActivity(new Intent(timer_2.this, timer_2_pause.class));
}
如果要将该活动保留在后堆栈中,请使用以下命令:

@Override
public void onBackPressed()
{
    startActivity(new Intent(timer_2.this, timer_2_pause.class));
    finish();
}
@Override
public void onBackPressed()
{
    startActivity(new Intent(timer_2.this, timer_2_pause.class));
}

你的第一个活动密码在哪里?删除第一个活动密码删除完成()删除
super.onBackPressed();
finish()
两者都有。我感谢大家反应这么快!!!!!你的第一个活动密码在哪里?删除完成()删除
super.onBackPressed();
finish()
两者皆有。感谢大家反应如此之快!!!!!