Back Stack可以包含多个任务的活动。当用户从一个活动跳转到另一个活动时,前一个活动会被添加到Back Stack中,并且后一个活动会显示在屏幕上。当用户按下返回按钮时,当前活动会被销毁,并且前一个活动会重新显示出来。
以下是一个简单的示例代码,演示了如何使用Back Stack来管理活动:
// 第一个活动
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
}
});
}
}
// 第二个活动
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(SecondActivity.this, ThirdActivity.class);
startActivity(intent);
}
});
}
}
// 第三个活动
public class ThirdActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_third);
}
}
在这个示例中,当用户在MainActivity点击按钮时,会跳转到SecondActivity。然后,当用户在SecondActivity点击按钮时,会跳转到ThirdActivity。此时,MainActivity会被添加到Back Stack中。当用户按下返回按钮时,ThirdActivity会被销毁,SecondActivity重新显示出来。再次按下返回按钮,SecondActivity也会被销毁,MainActivity重新显示出来。