Java 如何从调用堆栈中删除特定活动的以前实例
我的活动流程类似于A->B->C->B 当我按下活动C中的重置按钮时,我转到活动BJava 如何从调用堆栈中删除特定活动的以前实例,java,android,android-studio,Java,Android,Android Studio,我的活动流程类似于A->B->C->B 当我按下活动C中的重置按钮时,我转到活动B Button reset=(Button) findViewById(R.id.button3); reset.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view){ Intent intent
Button reset=(Button) findViewById(R.id.button3);
reset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view){
Intent intent = new Intent(C.this, B.class);
startActivity(intent);
finish();
}
});
但是,当我在活动C中按下reset按钮时,我想销毁活动B的前一个实例,这样我的堆栈就变为
[A | C | B]。
前往活动C时,我无法完成活动B,因为我可能必须返回到B。您可以使用广播完成顺序,当在活动a中接收到完成时,添加标志\u活动\u清除\u顶部当您启动B表单C时,它将删除不需要的B
Intent i = new Intent(this, B.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);