使用此示例代码,将告知活动完成,但之后继续执行并显示消息。我试图理解为什么会这样。我能想到的唯一解决方法是在完成后放置“返回”。
public void someMethod() {
if( valueIsTrue) {
startActivity(new Intent(this, NewActivity.class));
CurrentActitivy.this.finish();
// return; // if uncommented, Toast doesn't show
}
Toast.maketext(this, "Some message", Toast.LENGTH_SHORT).show();
}
答案 0 :(得分:3)
你是对的。调用finish()不会立即完成活动。代码路径中的所有可访问语句将在活动完成之前执行。取消注释返回时,Toast不是执行块的一部分。