活动A应在ActivityB之后关闭,但有时会停留

时间:2014-04-03 11:51:35

标签: java android android-intent

这有点奇怪,但也许有人有想法。

活动A打开活动B.在活动B中,按一个按钮,它应该关闭

返回活动A,然后关闭它。

然而,有时(可能是1到7次)活动B关闭但活动A仍然存在。

活动A

public void Foo() {

    if (bIsVerifyClicked)
    {
        Intent intent = new Intent(ActivityA.this, ActivityB.class);
        startActivityForResult(intent, 1000); 
    }
    else
    {
        setResult(RESULT_OK);
        finish();
    }

}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d(Logger.TAG, "=============requestCode: " + requestCode + " resultCode: " + resultCode);
    if (resultCode ==  RESULT_OK)
    {
        setResult(RESULT_OK);
        finish();
    }

    super.onActivityResult(requestCode, resultCode, data);
}

活动B

mNextButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Log.d(Logger.TAG, "ActivityB ==== finish()");
        setResult(RESULT_OK);
        finish();
    }
});

我认为活动B中可能存在内存泄漏,因此onResult会丢失或者其他内容,

但它是java,我没有看到任何奇怪的东西。

你有什么领导我应该寻找什么?

或者我怎样才能更好地调试它?

1 个答案:

答案 0 :(得分:0)

我无法弄清楚确切的问题。

但是在你的代码中,我可以看到活动A 的onActivityResult(),不需要

setResult(RESULT_OK);

您可以直接完成()活动A.