Android后退按钮无法正常工作

时间:2018-02-15 11:07:02

标签: java android android-studio back

当我按下手机上的后退按钮时,它按预期打开暂停活动,但它也会转到上一个活动(我可以看到这个,因为暂停活动样式是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();

}

5 个答案:

答案 0 :(得分:3)

如果你想杀死以前的活动,请使用:

@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));
}

答案 1 :(得分:1)

试试这个:

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

答案 2 :(得分:0)

因为你正在调用finish()来关闭当前活动。 删除finish()并且它不会关闭当前活动。

答案 3 :(得分:0)

你应该像这样使用onBackPress()

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


}

答案 4 :(得分:0)

使用这个......

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


  }