2012-02-28 63 views
0

我當前正在運行的活動B應該使用'finishActivity(999)'銷燬。這樣做,我想回到活動A中稱爲活動B的方法'onActivityResult'。 這不知何故無效。下面的一些代碼片段:Android:活動不會被銷燬使用命令'finishActivity(999)'

public class ActivityB extends Activity { 
    ... 

    // Method listening OnClick event 
    public void verifyPassword(View view) { 
    ... 
    // call http server in order to verify password 
    if (httpResponse != 200) { 
    finishActivity(999); 
    } 
    command Z; 
} 

我可以看到,在該finishActivity執行(999)語句的調試器,但在那之後,只需在同一activiy下一條指令「命令Z」被執行。

爲什麼finishActivity(999)語句不起作用?

+0

您的請求代碼是否相同? – AedonEtLIRA 2012-02-28 16:05:16

回答

1

finishActivity()沒有完成當前的活動:

部隊完成你之前曾與 startActivityForResult(意向,INT)開始了另一項活動。

另一個活動,不這個活動(例如,你可以從活動稱呼它)。

您只需要finish(),而最有可能與setResult()結合使用。

+0

感謝您的回覆。我將括號內的代碼改爲「setResult(999); finish();」。但是這會導致相同的行爲,finish()語句會被忽略。 – pfust75 2012-02-28 16:23:50

+0

哦,是的,這是一段時間。之後你可以從方法中返回,它應該沒問題(只需在finish()調用後添加'return;')。在verifyPassword()內不會執行其他代碼。 – 2012-02-28 16:25:51

+0

alextsc,你是男人!這個愚蠢的return語句在完成後解決了問題,完美。謝謝。 – pfust75 2012-02-28 16:30:52

相關問題