Android:finish()是否包含固有的返回?
我有一个应用程序调用startActivityForResult来启动第二个活动。第二个活动有一个在按下按钮时调用的方法,该方法调用setResult,然后在满足特定条件时调用finish,但如果不满足,则执行一些额外的处理 换言之:Android:finish()是否包含固有的返回?,android,Android,我有一个应用程序调用startActivityForResult来启动第二个活动。第二个活动有一个在按下按钮时调用的方法,该方法调用setResult,然后在满足特定条件时调用finish,但如果不满足,则执行一些额外的处理 换言之: public void clickOK(View V) { if (someBooleanCondition) { setResult(resultOne); finish(); } setResul
public void clickOK(View V) {
if (someBooleanCondition)
{
setResult(resultOne);
finish();
}
setResult(resultTwo);
finish();
}
我是否需要在第一个if块中的finish之后调用return,或者finish的行为是否就好像那里有一个固有的return语句?如果您将代码保存在if中,则必须在finish之后调用return,因为该方法将执行到底 最好将方法更改为:
public void clickOK(View V) {
if (someBooleanCondition)
{
setResult(resultOne);
finish();
} else {
setResult(resultTwo);
finish();
}
}
我不知道那个代码是否更好,但它的长短不一之处在于它的完成;不会导致方法的其余部分停止执行。所以你可以把一个显式的返回;完成后的声明;,或者你可以像你建议的那样使用else块。两种方法都有效。