我有3项活动。 活动A 导致活动B ,返回开始活动C 。然而, 我在活动C 中放了一个按钮。
点击按钮后,活动A (新)并完成 C 和 B 。
我正在使用以下代码,
活动A:
delete.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent x=new Intent(A.this,B.class);
x.putExtra("len_folder", length_folder);
loop_thread=false;
startActivity(x);
}
});
动画结束活动B:
public void onAnimationEnd(Animation arg0) {
imag_trash.clearAnimation();
imag_trash.setVisibility(View.INVISIBLE);
startActivity(new Intent(B.this,C.class));
finish();
活动C:
end_process.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
startActivity(new Intent(C.this,A.class));
finish();
}
});
但是我按了回来,仍然有活动C,活动C没有完成。 我不知道问题是什么。
答案 0 :(得分:1)
编写如下所示的代码
end_process.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
startActivity(new Intent(C.this,A.class));
finish();
}
});
如果要关闭所有其他活动,请使用
end_process.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent i=new Intent(C.this,A.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i);
}
});
答案 1 :(得分:0)
您可以执行以下操作,这样可以在您再次启动第一个活动时完成之前的所有活动。
将以下代码放入C活动
end_process.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(C.this, A.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
});