Android 后退按钮无法正常工作
Android back button not working properly
当我按下 phone 上的后退按钮时,它会按预期打开暂停 activity,但它也会转到上一个 activity(我可以看到这个,因为暂停 activity 样式是 Theme.AppCompat.Dialog。我想要的只是打开暂停 activity 但在后台是当前 activity 而不是以前的 one.The 代码:
@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() 来关闭当前 activity。
删除 finish() 并且它不会关闭当前 activity.
你应该像这样使用 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() {
Intent i=new Intent(timer_2.this,timer_2_pause.class);
startActivity(i);
finish();
super.onBackPressed();
}
如果你想杀死之前的 activity 使用这个:
@Override
public void onBackPressed()
{
startActivity(new Intent(timer_2.this, timer_2_pause.class));
finish();
}
如果您想将 activity 保留在后台堆栈中,请使用:
@Override
public void onBackPressed()
{
startActivity(new Intent(timer_2.this, timer_2_pause.class));
}
当我按下 phone 上的后退按钮时,它会按预期打开暂停 activity,但它也会转到上一个 activity(我可以看到这个,因为暂停 activity 样式是 Theme.AppCompat.Dialog。我想要的只是打开暂停 activity 但在后台是当前 activity 而不是以前的 one.The 代码:
@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() 来关闭当前 activity。 删除 finish() 并且它不会关闭当前 activity.
你应该像这样使用 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() {
Intent i=new Intent(timer_2.this,timer_2_pause.class);
startActivity(i);
finish();
super.onBackPressed();
}
如果你想杀死之前的 activity 使用这个:
@Override
public void onBackPressed()
{
startActivity(new Intent(timer_2.this, timer_2_pause.class));
finish();
}
如果您想将 activity 保留在后台堆栈中,请使用:
@Override
public void onBackPressed()
{
startActivity(new Intent(timer_2.this, timer_2_pause.class));
}