2012-02-28 76 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

相关问题