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