Android:finish()包含固有的回报吗?

时间:2015-05-09 19:49:01

标签: android

我有一个应用程序调用startActivityForResult来启动第二个活动。第二个活动有一个方法,当按下按钮时调用该方法,如果满足特定条件,则调用setResult()然后finish(),但如果不满足,则执行一些额外的处理。

换句话说:

public void clickOK(View V) {
    if (someBooleanCondition)
    {
        setResult(resultOne);
        finish();
    }
    setResult(resultTwo);
    finish();
}

我是否需要在第一个if块中的finish()之后返回,或者finish()的行为就像在那里有一个固有的return语句一样?

1 个答案:

答案 0 :(得分:0)

如果您保留代码,则必须在finish()内的if后调用return,因为该方法将执行到最后。

最好将方法更改为:

public void clickOK(View V) {
    if (someBooleanCondition)
    {
        setResult(resultOne);
        finish();
    } else {
        setResult(resultTwo);
        finish();
    }
}